Rezumat: în acest tutorial, veți învăța despre SQL Server LEFT JOIN clauză și cum să-l folosească pentru a interoga datele din mai multe tabele.

Introducere în SQL Server stânga JOIN clauza

LEFT JOIN clauza vă permite să interogare date din mai multe tabele. Returnează toate rândurile din tabelul din stânga și rândurile care se potrivesc din tabelul din dreapta. Dacă nu există rânduri de potrivire găsite în tabelul din dreapta, NULL sunt utilizate.,

următor ilustrează cum să se alăture două tabele T1 și T2 folosind LEFT JOIN clauză:

Code language: SQL (Structured Query Language) (sql)

În această sintaxă, T1 și T2 sunt la stânga și la dreapta tabele respectiv.

pentru fiecare rând din tabelul T1, interogarea o compară cu toate rândurile din tabelul T2. Dacă o pereche de rânduri determină predicatul join să evalueze la TRUE, valorile coloanelor din aceste rânduri vor fi combinate pentru a forma un rând nou care apoi inclus în setul de rezultate.,

dacă un rând din tabelul din stânga (T1) nu are niciun rând de potrivire din tabelul T2, interogarea combină valorile coloanelor rândului din tabelul din stânga cu NULL pentru fiecare coloană valori din tabelul din dreapta.

pe scurt, LEFT JOIN clauza returnează toate rândurile din tabel stanga (T1) și rânduri de potrivire sau NULL valorile din tabelul din dreapta (T2).

următoarele ilustrează LEFT JOIN din două tabele T1(1, 2, 3) și T2(A, B, C)., LEFT JOIN va meci de rânduri din tabelul T1 cu rândurile din tabelul T2 folosind modele:

În acest exemplu, nici un rând din tabelul T2 meciuri la rândul 1 din tabelul T1, prin urmare, NULL este folosit. Rândurile 2 și 3 din tabelul T1 se potrivesc cu rândurile A și B din tabelul T2.,

SQL Server STÂNGA se ALĂTURE exemplu

a se Vedea următoarele products și order_items tabele

Fiecare comandă de vânzări element include un singur produs. Legătura dintre order_items și products tabele este product_id coloana.,

următoarea declarație foloseste LEFT JOIN clauză pentru a interoga datele din products și order_items tabele:

după Cum veți vedea în mod clar din setul de rezultate, o listă de NULL în order_id coloană indică faptul că produsele corespunzătoare nu s-au vândut pentru orice client încă.

este posibil să folosiți clauza WHERE pentru a limita setul de rezultate., Următoarea interogare returnează produsele care nu apar în orice comanda de vanzare:

Ca întotdeauna, SQL Server procese WHERE clauza după LEFT JOIN clauză.,

The following example shows how to join three tables: production.products, sales.orders, and sales.order_items using the LEFT JOIN clauses:

Here is the output:

SQL Server LEFT JOIN: conditions in ON vs., În cazul în CARE clauza

următoarea interogare gaseste produsele de care aparțin pentru id-ul 100:

Să mergem starea order_id = 100 la ON clauza:

interogare întors toate produsele dar numai la comanda cu id-ul 100 are asociate produsului informații.,

Rețineți că pentru INNER JOIN clauză, condiție în ON clauză este funcțional echivalentă dacă acesta este plasat în WHERE clauză.

În acest tutorial, ați învățat cum să utilizați SQL Server LEFT JOIN clauza pentru a prelua date din mai multe tabele conexe.