Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
si applica a:SQL Server
Per impostazione predefinita, gli Strumenti di progettazione di query e di viste (Visual Database Tools) creano un inner join tra tabelle. I inner join eliminano le righe che non corrispondono a una riga dall'altra tabella. Gli outer join, tuttavia, restituiscono tutte le righe da almeno una delle tabelle o viste menzionate nella FROM clausola, purché tali righe soddisfino qualsiasi WHERE condizione di ricerca o HAVING. Se si desidera includere righe di dati nel set di risultati che non hanno una corrispondenza nella tabella unita, è possibile creare un outer join.
Quando si crea un outer join, l'ordine in cui le tabelle vengono visualizzate nell'istruzione SQL (come illustrato nel riquadro SQL) è significativo. La prima tabella aggiunta diventa la tabella "sinistra" e la seconda diventa la tabella "destra". L'ordine effettivo in cui le tabelle vengono visualizzate nel riquadro Diagramma (Visual Database Tools) non è significativo. Quando si specifica un outer join sinistro o destro, si fa riferimento all'ordine in cui le tabelle sono state aggiunte alla query e all'ordine in cui vengono visualizzate nell'istruzione SQL nel riquadro SQL (Visual Database Tools).
Creare un outer join
Crea il join, automaticamente o manualmente. Per informazioni dettagliate, vedere Unire automaticamente le tabelle (Visual Database Tools) o Unire manualmente le tabelle (Visual Database Tools).For details, see Join tables automatically (Visual Database Tools) or Join tables manually (Visual Database Tools).
Selezionare la riga di join nel riquadro del Diagramma e quindi, dal menu Progettazione Query, scegliere Seleziona tutte le righe da <nome tabella>, selezionando il comando che include la tabella di cui si desidera includere le righe aggiuntive.
- Scegliere la prima tabella per creare un join esterno sinistro.
- Scegliere la seconda tabella per creare un join esterno destro.
- Scegliere entrambe le tabelle per creare un join esterno completo.
Quando si specifica un outer join, lo strumento di progettazione query e viste modifica la linea di join per indicare un outer join.
Inoltre, il Progettista di query e viste modifica l'istruzione SQL nella finestra di SQL per riflettere la modifica del tipo di join, come illustrato nell'istruzione seguente.
SELECT employee.job_id,
employee.emp_id,
employee.fname,
employee.minit,
jobs.job_desc
FROM employee
LEFT OUTER JOIN jobs
ON employee.job_id = jobs.job_id;
Poiché un outer join include righe non corrispondenti, è possibile usarlo per trovare righe che violano vincoli di chiave esterna. A tale scopo, creare un outer join e quindi aggiungere una condizione di ricerca per trovare le righe in cui la colonna chiave primaria della tabella più a destra è Null. Ad esempio, il outer join seguente trova righe nella employee tabella che non hanno righe corrispondenti nella jobs tabella:
SELECT employee.emp_id,
employee.job_id
FROM employee
LEFT OUTER JOIN jobs
ON employee.job_id = jobs.job_id
WHERE (jobs.job_id IS NULL);