SQL - INNER JOIN, LEFT OUTER JOIN, RIGHT OUTER JOIN, FULL JOIN

SQL - INNER JOIN, LEFT OUTER JOIN, RIGHT OUTER JOIN, FULL JOIN

V tomto článku věnovaném relačním databázím se podíváme na spojování SQL tabulek a popíšeme si změny mezi JOINy.

 

INNER JOIN

INNER JOIN je nerozdělitelná vazba - zobrazí se nám jen výsledky, když existuje záznam v obou tabulkách (table1 + table2).

 

Příklad

SELECT * FROM `table1`
INNER JOIN `table2` ON t1_rel_id = t2_rel_id

 

 

LEFT OUTER JOIN

LEFT OUTER JOIN je rozdělitelná vazba - zobrazí se všechny záznamy, které existují v table1 (levá část v SQL, tabulka bez JOIN).

Když záznam v table2 (pravá část SQL - té připojené přes JOIN) nebude existovat, tak se zobrazí hodnota NULL.

 

Příklad

SELECT * FROM `table1`
LEFT OUTER JOIN `table2` ON t1_rel_id = t2_rel_id



RIGHT OUTER JOIN

RIGHT OUTER JOIN je rozdělitelná vazba - je to opak LEFT OUTER JOIN -> zobrazí se všechny záznamy, které existují v table2 (pravá část SQL - té připojené přes JOIN).

Když záznam v table1 (levá část v SQL, tabulka bez JOIN) nebude existovat, tak se zobrazí hodnota NULL.

 

Příklad

SELECT * FROM `table1`
RIGHT OUTER JOIN `table2` ON t1_rel_id = t2_rel_id



 

FULL OUTER JOIN

FULL OUTER JOIN je rozdělitelná vazba - zobrazí se všechny záznamy, které existují v table1 a table2.

Jedná se o kombinaci LEFT OUTER JOIN a RIGHT OUTER JOIN.

 

Příklad

SELECT * FROM `table1`
FULL JOIN `table2` ON t1_rel_id = t2_rel_id

 

PS:  Doporučuji najít si na internetu Venn diagram, který pochopení JOINů velice usnadní (ten s těmi kružnicemi).

Jak se ti článek líbil?

Komentáře (0)

Přidat komentář