Declarație Mysql se alăture - industria de dezvoltare web

Cei mai mulți care încep dezvoltatorii web a început studiul său MySQL cu declarații simple SELECT, UPDATE și DELETE. Acești operatori este destul de posibil pentru a descrie toate funcționalitățile necesare unui site simplu, dar după cum puteți ghici, acest SQL caracteristici lingvistice nu este sfârșitul. În timpul procesului de dezvoltare trebuie neapărat să combine date din mai multe tabele. Și în acest scop, există un operator JOIN. Acest operator este principalul operator de standardul SQL92 și este acceptat de majoritatea SGBD.

În general ÎNSCRIEȚI sintaxa este după cum urmează:

Cu toate acestea, trebuie remarcat imediat că baza de date MySQL acceptă numai două dintre cele mai populare expresie: INTERIOARĂ afilieze și să LEFT JOIN.

Luați în considerare modul în care fiecare dintre operatorii, acest lucru va crea două tabele: TABLEA și TableB.

Să încercăm să combine datele din aceste tabele cu ajutorul diverselor opțiuni ÎNSCRIEȚI modele operatorului.

1.INNER-TE - interconectare. Acesta combină cele două tabele în care fiecare rând de cele două tabele corespunde exact starea. Dacă un rând de tabel se găsește în conformitate cu celălalt tabel, rândul nu este inclus în kit-ul.

Declarație Mysql se alăture - industria de dezvoltare web

Selectarea indexului cheii primare și un efect pozitiv asupra ratei de eșantionare.

2. OUTER JOIN - se alăture exterior.

Tabelul cu montaj prezent în mod opțional intrarea de tabel. Ca și în cazul interior se alăture, starea câmpurilor indexate și vitezele cheie primare tot felul de exterior se alătură.

2.1 LEFT OUTER JOIN sau STÂNGA Participați la un exterior din stânga se alăture. asociații sinistral permit pentru a prelua datele din tabelul din stânga, completând masa lor de date capacitățile de pe dreapta, câmpurile de masă din dreapta sunt completate cu valori NULL.

Declarație Mysql se alăture - industria de dezvoltare web

LEFT OUTER JOIN

Completând starea anterioară a unei cereri de verificare a inexistență, este posibil pentru a obține o listă de înregistrări care nu au o pereche în TableB tabel:

Declarație Mysql se alăture - industria de dezvoltare web

LEFT OUTER JOIN

2.2RIGHT OUTER JOIN sau DREAPTA ÎNSCRIEȚI - exterior mana dreapta se alăture

Acest tip de asociere nu diferă de asocierea stângă, cu excepția faptului că datele sunt preluate din al doilea tabel din dreapta ÎNSCRIEȚI structurii. și în comparație cu datele găsite în tabel, structura menționată față.

2.3 FULL OUTER JOIN - o combinație de stânga și în dreapta de asociere. Pentru masa din stânga se alăture toate înregistrările din dreapta, care corespunde condiției (în conformitate cu regulile se alăture interior), plus toate nu sunt incluse de înregistrare a tabelului din dreapta, câmpul de masă din stânga populate cu valori NULL, plus toate înregistrările care nu sunt incluse din tabelul de stânga, câmpurile de masă din dreapta sunt completate cu valori NULL.

Declarație Mysql se alăture - industria de dezvoltare web

FULL OUTER JOIN

Declarație Mysql se alăture - industria de dezvoltare web

FULL OUTER JOIN

3. CROSS-TE - cruce se alăture (produs cartezian), afișează toate combinațiile posibile ale celor două tabele. Pentru acest tip de operator ÎNSCRIEȚI condiții nu sunt specificate.

Acest design, din cauza sa nu fi dorit, nu este susținută de aproape nimeni DB