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.
Lasă un răspuns