SQL left JOIN (Čeština)
Shrnutí: v tomto tutoriálu, budeme vám představit další druh spojení, nazývá SQL left JOIN, který umožňuje načíst data z více tabulek.
Úvod do SQL left JOIN klauzule
V předchozím tutoriálu, jste se dozvěděli o vnitřní spojení, které vrací řádky, pokud existuje alespoň jeden řádek v obou tabulkách, který odpovídá podmínku spojení. Klauzule o vnitřním spojení eliminuje řádky, které se neshodují s řadou druhé tabulky.,
levé spojení však vrací všechny řádky z levé tabulky, zda je v pravé tabulce odpovídající řádek.
Předpokládejme, že máme dvě tabulky A A B. tabulka a má čtyři řádky 1, 2, 3 a 4. Tabulka B má také čtyři řádky 3, 4, 5, 6.
když spojíme tabulku a s tabulkou B, všechny řádky v tabulce a (levá tabulka) jsou zahrnuty do sady výsledků, zda je v tabulce B odpovídající řádek nebo ne.
V SQL, použijeme následující syntaxi join tabulky A s tabulkou B.,
za klauzulí FROM se objeví klauzule LEFT JOIN. Stav, který následuje NA klíčové slovo se nazývá připojit podmínku B.n = A.n
SQL left JOIN příklady
SQL left JOIN dvou tabulek příkladů
Pojďme se podívat na countries
locations
tabulky.
Každé místo patří do jedné a pouze jedné země, přičemž každá země může mít nula nebo více místech., Vztah mezi zeměmi a místy je individuální.
sloupec country_id v tabulce umístění je cizí klíč, který odkazuje na sloupec country_id v tabulce zemí.
Chcete-li dotazovat názvy zemí USA, Velké Británie a Číny, použijte následující prohlášení.,0bc“>
najdete ji v akci
následující dotaz načte míst se nachází v USA, velké BRITÁNII a Číně:
najdete ji v akci
Nyní, používáme left JOIN klauzule připojit k zemím, stůl s místech tabulky jako následující dotaz:
najdete ji v akci
podmínka v klauzuli where se aplikuje tak, že prohlášení pouze načte data z USA, velké BRITÁNII a Číně řádky.,
protože používáme klauzuli LEFT JOIN, všechny řádky, které splňují podmínku v klauzuli WHERE v tabulce zemí, jsou zahrnuty do sady výsledků.
pro každý řádek v tabulce zemí nalezne klauzule LEFT JOIN odpovídající řádky v tabulce umístění.
Pokud byl nalezen alespoň jeden odpovídající řádek, databázový motor kombinuje data ze sloupců odpovídajících řádků v obou tabulkách.
v případě, že není nalezen odpovídající řádek, např. u country_id CN je řádek v tabulce zemí zahrnut do sady výsledků a řádek v tabulce umístění je vyplněn hodnotami NULL.,
protože neodpovídající řádky v pravé tabulce jsou vyplněny hodnotami NULL, můžete použít klauzuli LEFT JOIN pro miss-match řádky mezi tabulkami.
například, najít zemi, která nemá žádné místech v místech tabulky, můžete použít následující dotaz:
najdete ji v akci
SQL left JOIN 3 příklad tabulky
Viz následující tabulky: regiony, země a místa.,
Jeden region může mít žádné nebo mnoho zemí, přičemž každá země se nachází v jednom regionu. Vztah mezi zeměmi a regiony je individuální. Sloupec region_id v tabulce země je odkazem mezi tabulkou zemí a regionů.,
následující prohlášení ukazuje, jak se připojit 3 tabulky: regionů, zemí a míst:
najdete ji v akci
Nyní byste měli mít dobré znalosti o tom, jak SQL left JOIN klauzule funguje a vědět, jak použít left JOIN klauzule data dotazu z více tabulek.
- byl tento tutoriál užitečný ?
- YesNo