Vazby mezi tabulkami (získávání dat z více tabulek, druhy spojení)
Níže je uveden pouze náhled materiálu. Kliknutím na tlačítko 'Stáhnout soubor' stáhnete kompletní formátovaný materiál ve formátu PDF.
Je možné porovnávat více společných polí tabulek náhradou klíčového slova ON za USING.
ON z.id_zakaznika = o.id_zakaznika
→ USING(id_zakaznika)
LEFT [OUTER] JOIN
Z první (levé) tabulky se ve výpisu objeví všechny řádky, z druhé (pravé) pouze řádky splňující
podmínku (tj. jen objednávky mající zákazníka).
SELECT z.id_zakaznika, z.jmeno, o.id_objednavky, o.cena FROM zakaznici z LEFT
[OUTER] JOIN objednavky o ON z.id_zakaznika = o.id_zakaznika;
RIGHT [OUTER] JOIN
V tomto případě bude zahrnuta celá tabulka druhá/pravá. Stejného výsledku lze dosáhnout také
levým spojením (LEFT JOIN) a prohozením pořadí tabulek.
SELECT z.id_zakaznika, z.jmeno, o.id_objednavky, o.cena FROM zakaznici z RIGHT
[OUTER] JOIN objednavky o ON z.id_zakaznika = o.id_zakaznika;
NATURAL LEFT JOIN
Jako součást spojení budou použita všechna shodná pole obou zdrojových tabulek.
SELECT z.id_zakaznika, z.jmeno, o.id_objednavky, o.cena FROM zakaznici z NATURAL
LEFT JOIN objednavky o;
FULL JOIN
Vypíše z obou tabulek i řádky, které spojovací kritéria nesplňují (v MySQL zatím nelze použít).
SELECT z.id_zakaznika, z.jmeno, o.id_objednavky, o.cena FROM zakaznici z FULL JOIN
objednavky o ON z.id_zakaznika = o.id_zakaznika;