Care este diferența dintre intrarea internă, intrarea în stânga și conectarea corectă la mysql - note ale codorului hello

INNER JOIN

Toate înregistrările din tabelele table_01 și table_02 care sunt legate prin chei primare / străine sunt returnate, iar clauza WHERE pentru tabelul table_01. Dacă nu există nicio intrare într-una din tabelele corespunzătoare vecinului, atunci această pereche nu va fi inclusă în ieșire. Cu alte cuvinte, vor fi date doar acele înregistrări care sunt în primul și al doilea tabel. Aceasta este, de fapt, eșantionul este trimis de către conexiune (cheie), numai acele înregistrări care sunt legate între ele vor fi emise. Înregistrările "Lone", pentru care nu există o pereche în legătură, nu vor fi emise.







Cod: SELECT * FROM table_01
INNER JOIN tabelul_02
ON table_01.primary_key = table_02.foreign_key
WHERE table_01.column_01 = 'valoare'

Recuperează toate datele din tabelul „stânga“, chiar dacă nici un meci se găsesc în tabelul „dreapta“ ( „stânga“ tabel în SQL-interogare se află în partea stângă a semnului egal, „dreapta“ - dreapta, care este logica obișnuită a dreapta și mâna stângă). Cu alte cuvinte, dacă atașăm tabelul "dreapta" la tabelul "stânga", toate intrările vor fi selectate în conformitate cu clauzele WHERE pentru tabelul stâng. Dacă nu s-au găsit potriviri cheie în tabelul "dreapta", acestea vor fi returnate ca NULL. Astfel, tabelul "stânga" este principalul, iar problema este despre el. În clauza ON, tabelul "stânga" este prescris primul în ordine (table_01), iar "right" este al doilea tabel (table_02):







Cod: SELECT * FROM table_01
LEFT JOIN table_02
ON table_01.primary_key = table_02.foreign_key
WHERE table_01.column_01 = 'valoare'

AJUTORUL DREAPTA

Toate datele din tabelul "dreapta" sunt returnate, chiar dacă nu se găsesc potriviri în tabelul "stânga". Aceasta înseamnă că, la fel ca la LEFT JOIN, doar NULL va reveni pentru câmpurile tabelului "stânga". Aproximativ, această probă plasează "masa" potrivită în centrul chestiunii, este vorba de extrădare. Rețineți WHERE în exemplul următor, condiția de eșantionare afectează tabelul "dreapta":

Cod: SELECT * FROM table_01
RIGHT JOIN table_02
ON table_01.primary_key = table_02.foreign_key
WHERE table_02.column_01 = 'valoare'

Astfel, am aranjat pe rafturi, care este diferența între INNER, LEFT și RIGHT JOIN. Desigur, informațiile prezentate mai sus nu sunt noi, dar pot fi utile programatorilor novici, care sunt adesea confundați în tipurile de solicitări.







Trimiteți-le prietenilor: