Operatorul sql se alăture (stânga

ÎNSCRIEȚI declarație este folosit pentru a conecta două sau mai multe tabele. tabelele compuse pot fi interne (INTERIOARĂ) sau externe (EXTERIOR), în care conexiunea externă poate fi lăsat (STÂNGA), dreapta (dreapta) sau complet (FULL). În continuare, un exemplu de cele două tabele ia în considerare diferite opțiuni pentru conectarea acestora.







Sintaxa conexiune tabele ÎNSCRIEȚI declarație este după cum urmează:

Predicatul în acest exemplu de realizare determină starea unui compus de rânduri din tabele diferite.

Să presupunem că există două tabele (Auto de vânzare pe stânga și dreapta), fiecare cu câte patru intrări. Un tabel conține numele mărci auto (Auto), al doilea numărul de automobile vândute (vânzare):

se alăture în continuare aceste tabele câmp id de mai multe moduri diferite. Valorile potrivite evidențiate în roșu pentru o mai bună percepție.

1. Conexiune internă (INTERIOARĂ ÎNREGISTREAZĂ) înseamnă că setul rezultat va include numai acei compuși cu rânduri de două tabele, pentru care valoarea predicatului egal cu TRUE. De obicei utilizate pentru combinarea intrările care sunt în primul și în al doilea tabel. .. Adică, obține intersecția de tabele:

Operatorul sql se alăture (stânga

Roșu a subliniat zonele pe care avem nevoie pentru a obține.

Deci, interogarea:

cuvinte cheie INTERIOARĂ în interogarea poate fi abandonată.

Ca urmare, o cerere selectează și se conectează aceste înregistrări în care valoarea câmpului id este aceeași în ambele tabele.

2. Conexiune externă (ÎNSCRIEȚI EXTERIOR) este de mai multe tipuri. În primul rând, să ia în considerare întregul exterior alătura (full outer join), care integrează înregistrările din ambele tabele (în cazul în care condiția este adevărată se alăture) și completează toate înregistrările din ambele tabele care nu au meciuri. Pentru înregistrările care nu au un meci de la o altă masă, câmpul lipsă va fi setat la NULL. Contele eșantion de înregistrări ar fi:







Operatorul sql se alăture (stânga

Mai departe spre interogarea:

Asta este, avem toate înregistrările care există în ambele tabele. Intrările a căror valoare de câmp id-ul coincide conectat, în timp ce intrările pentru care nu se potrivesc este găsit lipsesc câmpurile sunt completate cu o valoare NULL.

cuvinte cheie exterior poate fi omisă.

3. exterior din stânga se alăture (LEFT OUTER JOIN). În acest caz, vom obține toate înregistrările care satisfac condiția se alăture, plus toate înregistrările rămase de la un tabel extern, care nu îndeplinește condiția de asociere. Număr Exemplu:

Operatorul sql se alăture (stânga

Au luat de asemenea posibil să se scrie cererea fără Outer cuvinte cheie.

Ca urmare, aici avem toate intrările de tabel Auto. Intrările pentru care coincidență de vânzare a câmpului id din tabel s-au găsit alăturat la restul câmpurile lipsă sunt completate cu o valoare NULL.

Există încă un exterior din dreapta se alăture (dreapta OUTER JOIN). Acesta funcționează la fel ca stânga se alăture, doar-dreapta (în acest tabel de vânzare caz sau un tabel B de pe grafic) va fi folosit ca masa de exterior.

În continuare ia în considerare alte posibile de prelevare de probe, folosind combinația dintre cele două tabele.

4. Obține toate înregistrările din tabelul A, care nu au nici o asociere din Tabelul B. Graf:

Operatorul sql se alăture (stânga

Aceasta este, în cazul nostru, avem nevoie pentru a obține toate masinile din tabelul Auto, care nu au vânzări în vânzare tabel.

5. Iar ultima opțiune pentru a obține toate înregistrările din tabelul A și Tabelul B, care nu au sindicate. Count:

Operatorul sql se alăture (stânga

În cazul nostru avem nevoie pentru a obține toate înregistrările din tabelul Auto, care nu sunt legate de vânzarea de o masă și toate înregistrările din vânzarea tabelului care nu au o comparație a tabelului Auto.

Asta e tot, până când ne vom întâlni din nou în paginile blogului.