Spojování tabulek - JOIN
JOIN
- Spojuje tabulky
Existují 4 typy joinů:
INNER JOIN
- Spojí jednotlivé řádky pospolu pomocí nějaké stejné hodnoty v obouch tabulkách
INNER JOIN <tabulka> WHERE (<podmínka>)
jako podmínku používáme hodnotu, která se nachází v obou tabulkách (ID)
Příklad spojování tabulek
Máme dvě tabulky, tabulku zakaznika a tabulku objednavek
Tabulka zakaznika
ID_zakaznika | Jmeno_Zakaznika |
---|---|
01 | Jarda |
Tabulka objednavky
ID_objednavky | ID_zakaznika | Nazev_Objednavky |
---|---|---|
2202 | 01 | Rybnik |
Objednávka Rybnik
má svého jednoho zákazníka Jarda
Propojit tabůlky můžeme pomocí ID objednávky (v obouch tabulkách je přítomno toto ID)
SELECT * FROM zakaznici INNER JOIN objednavky ON ID_zakaznika;
Tabůlky se nám poté spojí do jedné, tak aby každý zákazník měl svojí objednávku:
ID_zakaznika | Jmeno_Zakaznika | ID_objednavky | ID_zakaznika | Nazev_Objednavky |
---|---|---|---|---|
01 | Jarda | 2202 | 01 | Rybnik |
INNER LEFT / RIGHT JOIN
INNER JOIN nám vrátí řádek, pokud obě strany tabulky mají nějakou hodnotu
- *Pro každého zákazníka jedna objednávka