Rezumat: în acest tutorial, veți afla cum să utilizați SQL Server FULL OUTER JOIN
pentru a interoga date din două sau mai multe tabele.
Introducere în îmbinarea exterioară completă SQL Server
FULL OUTER JOIN
returnează un set de rezultate care include rânduri din tabelele din stânga și din dreapta. Când nu există rânduri potrivite pentru rândul din tabelul din stânga, coloanele din tabelul din dreapta vor avea valori nule. În mod similar, atunci când nu există rânduri potrivite pentru rândul din tabelul din dreapta, coloana din tabelul din stânga va avea valori nule.
Următorul arată sintaxa FULL OUTER JOIN
când se alătură două tabele T1
și T2
:
Code language: SQL (Structured Query Language) (sql)
Cuvântul cheie OUTER
este opțional, astfel încât să îl puteți omite așa cum se arată în următoarea interogare:
Code language: SQL (Structured Query Language) (sql)
În această sintaxă :
- Mai întâi, specificați tabelul din stânga
T1
în clauzaFROM
. - În al doilea rând, specificați tabelul potrivit
T2
și un predicat de unire.
Următoarea diagramă Venn ilustrează FULL OUTER JOIN
din două seturi de rezultate:
Exemplu de îmbinare exterioară completă SQL Server
Să configurăm câteva exemple de tabele pentru a demonstra îmbinarea exterioară completă.
Mai întâi, creați un nou schema numită pm
care înseamnă gestionarea proiectelor.
Code language: SQL (Structured Query Language) (sql)
Apoi, creați tabele noi numite projects
și members
în schema pm
:
Să presupunem că fiecare membru poate participa numai într-un proiect și fiecare proiect are zero sau mai mulți membri. Dacă un proiect este în faza de idee, prin urmare nu există niciun membru atribuit.
Apoi, introduceți câteva rânduri în projects
și members
tabele:
După aceea, interogați datele din tabelele projects
și members
:
Code language: SQL (Structured Query Language) (sql)
Code language: SQL (Structured Query Language) (sql)
În cele din urmă, utilizați FULL OUTER JOIN
pentru a interoga date din projects
și members
tabele:
Iată rezultatul:
În acest exemplu, interogarea a returnat membri care participă la proiecte, membri care nu participă la niciun proiect și proiecte care nu au membri.
Pentru a găsi membrii care nu participă la orice proiect și proiecte w care nu au membri, adăugați o clauză WHERE
la interogarea de mai sus:
Următoarea imagine arată rezultatul:
După cum se arată clar în ieșire, Jack Daniel
nu participă la niciun proiect și Develop Mobile Sales Platform
nu are membri.
În acest tutorial, ați învățat cum să utilizați SQL Server complet extern alăturați-vă pentru a interoga date din două sau mai multe tabele.