Intrebare logica LEFT JOIN in mysql

Discutii despre script-uri si coduri PHP-MySQL, precum si lucru cu XML in PHP.
sterica
Mesaje:285

Intrebare logica LEFT JOIN in mysql

Salutare,

Pentru codul SQL:

Cod: Selectaţi tot

SELECT * 

FROM tbl_1

LEFT JOIN tbl_2
ON tbl_1.id = tbl_2.idtbl
Care este logica lui LEFT JOIN in acest query?
tbl_2 va fi in stanga lui tbl_1 din FROM?
sau LEFT JOIN se refera la ce urmeaza dupa ON care din tabele le pozitioneaza in stanga?

Multumesc!

MarPlo Mesaje:4343
Salut,
Conditia LEFT JOIN determina ce randuri sa returneze din tabelul al doilea (tbl_2) in functie de rezultatele obtinute din primul tabel mysql (tbl_1).
Coloanele din tabelul tbl_1 sunt puse in stanga.
- Explicatii scurte despre MySQL INNER JOIN, LEFT JOIN, RIGHT JOIN gasesti in tutorialul de la pagina: https://marplo.net/php-mysql/mysql-j ... right.html

sterica Mesaje:285
Am un exemplu de care m-am izbit recent:

Cod: Selectaţi tot

SELECT *

FROM tbl_1

LEFT JOIN tbl_2
	ON tbl_1.id = tbl_2.idtbl

LEFT JOIN tbl_3
	ON tbl_1.id = tbl_3.idtbl
	
LEFT JOIN tbl_4
	ON tbl_3.id = tbl_4.id
In ultimul JOIN, este corect codul sql in conditiile in care nu mai are nicio legatura cu tabela din FROM?

Multumesc!

MarPlo Mesaje:4343
Nu am folosit astfel de instructiuni LEFT JOIN. Cel mai bine e sa testezi codul sql in phpmyadmin si vezi ce rezultat returneaza.