Databáza v akomkoľvek počítačovom systéme je zbierka štruktúrovaných alebo neštruktúrovaných údajov, ktoré možno použiť na vykonávanie rôznych možností, ako je vytváranie, mazanie atď. Táto databáza je riadená špeciálnym jazykom známym ako SQL . V jazyku SQL existujú rôzne spojenia, ktoré sa používajú na zostavenie riadkov z dvoch alebo viacerých tabuliek zo súvisiaceho stĺpca. Niektoré spojenia sú Vnútorné spojenie , Ľavé pripojenie , a Správne Pripojte sa . V tomto článku preskúmame koncepty s príkladmi Ľavé pripojenie a Ľavé vonkajšie spojenie. Spolu s tým si prejdeme aj ich hlavné rozdiely.
Ľavé pripojenie
Left Join v jazyku SQL sa používa na vrátenie všetkých údajov alebo záznamov z ľavej tabuľky a zodpovedajúcich údajov alebo záznamov z pravej tabuľky. V scenári, kde neexistuje žiadna zhoda, spojenie stále pozostáva z riadkov z ľavej tabuľky a zobrazuje hodnoty NULL pre stĺpce pravej tabuľky.
V kontexte dotazu je nižšie syntax ľavého spojenia.
Syntax
SELECT stĺpce FROM left_table
LEFT JOIN right_table ON
join_condition;
Teraz pochopme ľavé spojenie na jednoduchom príklade:
Príklad:
1. Tabuľka Customer_Data:
| customer_id | Meno zákazníka |
|---|---|
| 1 | Gaurav |
| 2 nahradiť všetko | Anjali |
| 3 | Ramesh |
2. Tabuľka s údajmi o objednávkach:
| Číslo objednávky | customer_id | dátum objednávky |
|---|---|---|
| 1 | 1 | 2023-01-23 |
| 2 | 1 | 2023-02-03 |
| 3 | 3 | 2023-03-05 |
| 4 | 4 | 2023-04-10 |
Dopyt na ľavé pripojenie
SELECT Customer_Data.customer_id, Customer_Data.customer_name, Orders_Data.order_id, Orders_Data.order_date FROM Customers_Data LEFT JOIN Orders ON Customers_Data.customer_id = Orders_Data.customer_id;>
Výsledok/Výstup
| customer_id java zoznamy | Meno zákazníka | Číslo objednávky | dátum objednávky |
|---|---|---|---|
| 1 | Gaurav | 1 | 2023-01-23 |
| 1 | Gaurav | 2 | 2023-02-03 |
| 2 | Anjali | NULOVÝ | NULOVÝ |
| 3 | Ramesh | 3 | 2023-03-05 |
Vysvetlenie
Vo vyššie uvedenom príklade. Ľavé spojenie obsahuje všetky riadky z ľavej tabuľky ( Customer_Data ) a priradil ich k zodpovedajúcim riadkom pravej tabuľky ( Objednávky_Údaje ). Tu má zákazník Gaurav 2 objednávky, Anjali nemá žiadne objednávky (NULL) a Ramesh má 1 objednávku.
Ľavý vonkajší spoj
Koncept Ľavý vonkajší spoj je podobný a rovnaký ako Left Join a oba tieto pojmy sa používajú zameniteľne. Tu použité kľúčové slovo je Vonkajšie , ktorá je voliteľná a tiež neovplyvňuje výsledok.
Pozrime sa na syntax Left Outer Join:
Syntax
VYBERTE stĺpce
FROM left_table
LEFT OUTER JOIN right_table ON
join_condition;
pivot sql servera
Príklad:
Uvažujme o rovnakých tabuľkách ako vo vyššie uvedenom príklade spojenia vľavo:
Dopyt na ľavé vonkajšie spojenie
SELECT Customer_Data.customer_id, Customer_Data.customer_name, Orders_Data.order_id, Orders_Data.order_date FROM Customers_Data LEFT OUTER JOIN Orders ON Customers_Data.customer_id = Orders_Data.customer_id;>
Výsledok/Výstup
| customer_id | Meno zákazníka | Číslo objednávky | dátum objednávky |
|---|---|---|---|
| 1 | Gaurav | 1 string json java | 2023-01-23 |
| 1 | Gaurav | 2 | 2023-02-03 |
| 2 | Anjali | NULOVÝ | NULOVÝ |
| 3 | Ramesh | 3 | 2023-03-05 |
| 4 | NULOVÝ | NULOVÝ java listnode | NULOVÝ |
Vysvetlenie
Vo vyššie uvedenom príklade sa nezhodujúce záznamy z pravej tabuľky ( Objednávky_Údaje ) sú zahrnuté a hodnoty NULL sú zobrazené pre pravé stĺpce tabuľky. Zákazník s „ customer_id ' 4 v Objednávky_Údaje tabuľka, ktorá nemá zodpovedajúci záznam v Customer_Data tabuľka je tiež zahrnutá do sady výsledkov a sú zobrazené hodnoty NULL, čo sa nezobrazilo v stave ľavého spojenia.
Rozdiel medzi ľavým spojením a ľavým vonkajším spojením
| Parameter | Ľavé pripojenie | Vonkajšie spojenie |
|---|---|---|
| Zodpovedajúce záznamy | V ľavom spojení sú zahrnuté zodpovedajúce záznamy z pravej tabuľky. | V ľavom vonkajšom spojení sú zahrnuté zodpovedajúce záznamy z pravých tabuliek. |
| Nezhodné záznamy | V ľavom spojení sú nezhodné záznamy z tabuľky úplne vpravo vylúčené. | V ľavom vonkajšom spojení sú zahrnuté nezhodné záznamy z pravej tabuľky a pre pravé stĺpce tabuľky sa zobrazí hodnota NULL. |
| Pripojiť kľúčové slovo | ĽAVÉ PRIPOJENIE | ĽAVÉ VONKAJŠIE SPOJENIE |
| Nulové hodnoty | Pre pravé stĺpce tabuľky sa nezobrazujú žiadne hodnoty NULL. | V prípade, že neexistuje žiadna zhoda, pre pravé stĺpce tabuľky sa zobrazia hodnoty NULL. |
| Syntax | SELECT stĺpce FROM left_table LEFT JOIN right_table ON join_condition; | SELECT stĺpce FROM left_table LEFT OUTER JOIN right_table ON join_condition; |
Časté otázky o ľavom spojení a ľavom vonkajšom spojení
1. Kedy by sme mali použiť ľavé spojenie?
Left Join by ste mali použiť, keď potrebujeme vrátiť všetky riadky z tabuľky úplne vľavo, aj keď v tabuľke úplne vpravo nie sú žiadne zodpovedajúce riadky. To je užitočné v scenári, keď chceme vypísať všetky údaje z ľavej tabuľky bez ohľadu na to, či obsahuje údaje v pravej tabuľke.
2. Aké sú výhody používania Left Join?
Používanie Left Join má rôzne typy výhod, potenciálne nám umožňuje zobraziť všetky údaje v ľavej tabuľke, aj keď v pravej tabuľke žiadne údaje nemá. Toto je možné použiť na úlohy auditu.
3. Vysvetlite výsledky ľavého vonkajšieho spojenia.
Výsledky Left Outer Join pozostávajú z riadkov z ľavej tabuľky a tiež zhodných riadkov z pravej tabuľky. V prípade, že neexistujú žiadne zodpovedajúce riadky z pravej tabuľky, zodpovedajúce stĺpce v sade výsledkov sa zobrazia ako NULL.
4. Môžeme použiť klauzulu ORDER BY spolu s ľavým vonkajším spojením?
Áno, v dotaze môžeme použiť klauzulu ORDER BY spolu s ľavým vonkajším spojením. Tým sa zoradia výsledky spojenia ako pri akomkoľvek inom dotaze.