Mi a különbség a belső csatlakozás, a bal csatlakozás és a megfelelő csatlakozás a mysql - a hello kódoló jegyei között?

INNER JOIN

A táblák table_01 és table_02 összes olyan rekordja, amelyet elsődleges / külföldi kulcsok kapcsolnak össze, és a WHERE klauzula a table_01 táblázathoz. Ha a szomszédhoz tartozó táblák valamelyikében nincs bejegyzés, akkor az ilyen pár nem kerül a kimenetbe. Más szavakkal csak az első és a második táblázatban szereplő feljegyzések adhatók ki. Ez azt jelenti, hogy a mintát valójában a kapcsolat (kulcs) küldi, csak az összekapcsolt rekordok kerülnek kiadásra. A "Lone" rekordok, amelyeknél nincs pár kapcsolatban, nem adhatók ki.

Kód: SELECT * FROM table_01
INNER JOIN table_02
ON table_01.primary_key = table_02.foreign_key
WHERE table_01.column_01 = "érték"

Letölti az összes adatot a „bal” tábla, akkor is, ha nincs találat a „helyes” táblázatban ( „bal” tábla SQL-lekérdezés áll a bal oldalon az egyenlőségjel, „jobb” - a jobb, vagyis a szokásos logika a jobb és bal kéz). Más szóval, ha a "jobb" szót a "bal" asztalhoz csatoljuk, akkor az összes bejegyzést a bal oldali táblázat WHERE záradékai szerint választjuk ki. Ha a "jobb" táblában nem szerepelnek kulcsfontosságú mérkőzések, akkor azok visszatérnek NULL-ként. Így a "bal" tábla itt a legfontosabb, és a kérdés arról szól. Az ON-záradékban a bal oldali tábla első sorrendben van megadva (table_01) és a "right" a második táblázat (table_02):

Kód: SELECT * FROM table_01
LEFT JOIN table_02
ON table_01.primary_key = table_02.foreign_key
WHERE table_01.column_01 = "érték"

RIGHT JOIN

A "jobb" táblából minden adatot visszaadunk, még akkor is, ha nem találunk egyezést a "bal" táblában. Ez ugyanúgy, mint a LEFT JOIN, csak a NULL visszatér a "left" table mezőkhöz. Nagyjából elmondható, hogy ez a minta a helyes "asztalt" az ügy középpontjába helyezi, a kiadatásról szól. Vegye figyelembe az alábbi példában a WHERE példát, a mintavételi feltétel befolyásolja a "jobb" táblázatot:

Kód: SELECT * FROM table_01
RIGHT JOIN table_02
ON table_01.primary_key = table_02.foreign_key
WHERE table_02.column_01 = "érték"

Így rendeztük el a polcokon, mi a különbség az INNER, a BAL ÉS a JOBB CSATLAKOZÁS között. Természetesen a fent bemutatott információk nem újak, de hasznos lehet kezdeni a programozóknak, akik gyakran zavarosak a kérések típusaiban.