logo

Rozdíl mezi levým spojením a levým vnějším spojením

Databáze v jakémkoli počítačovém systému je sbírka strukturovaných nebo nestrukturovaných dat, která lze použít k provádění různých možností, jako je vytváření, mazání atd. Tato databáze je spravována speciálním jazykem známým jako SQL . V jazyce SQL existují různá spojení, která se používají k sestavení řádků ze dvou nebo více tabulek ze souvisejícího sloupce. Některé spoje jsou Vnitřní spojení , Připojit se vlevo , a Správně Připojte se . V tomto článku prozkoumáme koncepty s příklady Připojit se vlevo a Levý vnější spoj. Společně s tím projdeme také jejich hlavní rozdíly.

Připojit se vlevo

Left Join v jazyce SQL se používá k vrácení všech dat nebo záznamů z levé tabulky a odpovídajících dat nebo záznamů z pravé tabulky. Ve scénáři, kde není shoda, se spojení stále skládá z řádků z levé tabulky a zobrazuje hodnoty NULL pro sloupce pravé tabulky.

V kontextu dotazu je níže syntaxe levého spojení.



Syntax

SELECT sloupce FROM left_table

LEFT JOIN right_table ON

připojit_podmínka;

Pojďme nyní pochopit levé spojení na jednoduchém příkladu:

Příklad:

1. Tabulka Customer_Data:

zákaznické identifikační číslo

Jméno zákazníka

1

Gaurav

2

sonu nigam

Anjali

3

Ramesh

2. Tabulka s údaji o objednávce:

číslo objednávky

zákaznické identifikační číslo

datum objednávky

1

1

2023-01-23

2

1

2023-02-03

3

3

2023-03-05

4

4

2023-04-10

Dotaz na levé připojení

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ýsledek/Výstup

zákaznické identifikační číslo

napište json do souboru python

Jméno zákazníka

číslo objednávky

datum objednávky

1

Gaurav

1

2023-01-23

1

Gaurav

2

2023-02-03

2

Anjali

NULA

NULA

3

Ramesh

3

2023-03-05

Vysvětlení

Ve výše uvedeném příkladu. Levé spojení zahrnuje všechny řádky z levé tabulky ( Customer_Data ) a spojil je s odpovídajícími řádky v pravé tabulce ( Data_objednávek ). Zde má zákazník Gaurav 2 objednávky, Anjali nemá žádné objednávky (NULL) a Ramesh má 1 objednávku.

Levý vnější spoj

Koncept Levý vnější spoj je podobný a stejný jako Left Join a oba tyto termíny se používají zaměnitelně. Zde použité klíčové slovo je Vnější , což je volitelné a také neovlivňuje výsledek.

Podívejme se na syntaxi Left Outer Join:

Syntax

VYBERTE sloupce

FROM left_table

LEFT OUTER JOIN right_table ON

připojit_podmínka;

slf4j vs log4j

Příklad:

Podívejme se na stejné tabulky použité ve výše uvedeném příkladu spojení vlevo:

Dotaz na levé vnější spojení

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ýsledek/Výstup

zákaznické identifikační číslo

Jméno zákazníka

číslo objednávky

datum objednávky

1

Gaurav

1

ternární operátor java

2023-01-23

1

Gaurav

2

2023-02-03

2

Anjali

NULA

NULA

3

Ramesh

3

2023-03-05

4

NULA

NULA

jaká je velikost mého monitoru

NULA

Vysvětlení

Ve výše uvedeném příkladu neodpovídající záznamy z pravé tabulky ( Objednávky_Data ) jsou zahrnuty a pro pravé sloupce tabulky jsou zobrazeny hodnoty NULL. Zákazník s „ zákaznické identifikační číslo ' 4 v Objednávky_Data tabulka, která nemá odpovídající záznam v Customer_Data tabulka je také zahrnuta do sady výsledků a jsou zobrazeny hodnoty NULL, které nebyly zobrazeny v podmínce Left Join.

Rozdíl mezi levým spojením a levým vnějším spojením

Parametr

Připojit se vlevo

Vnější spojení

Odpovídající záznamy

V levém spojení jsou zahrnuty odpovídající záznamy z pravé tabulky.

V levém vnějším spojení jsou zahrnuty odpovídající záznamy z pravých tabulek.

Neodpovídající záznamy

V levém spojení jsou vyloučeny neodpovídající záznamy z tabulky zcela vpravo.

V levém vnějším spojení jsou zahrnuty neodpovídající záznamy z pravé tabulky a pro pravé sloupce tabulky se zobrazí hodnota NULL.

Připojit klíčové slovo

PŘIPOJIT SE VLEVO

LEVÁ VNĚJŠÍ SPOJENÍ

Nulové hodnoty

Pro pravé sloupce tabulky nejsou zobrazeny žádné hodnoty NULL.

V případě, že neexistuje žádná shoda, jsou pro pravé sloupce tabulky uvedeny hodnoty NULL.

Syntax

SELECT sloupce FROM left_table LEFT JOIN right_table ON join_condition;

SELECT sloupce FROM left_table LEFT OUTER JOIN right_table ON join_condition;

Nejčastější dotazy týkající se spojení Left Join a Left Outer Join

1. Kdy bychom měli použít Left Join?

Left Join by měl být použit, když potřebujeme vrátit všechny řádky z tabulky zcela vlevo, i když v tabulce zcela vpravo nejsou žádné odpovídající řádky. To je užitečné ve scénáři, kdy chceme vypsat všechna data z levé tabulky bez ohledu na to, zda obsahuje data v pravé tabulce.

2. Jaké jsou výhody používání Left Join?

Použití Left Join má různé typy výhod, potenciálně nám umožňuje zobrazit všechna data v levé tabulce, i když v pravé tabulce žádná data nemá. To lze použít pro úkoly auditu.

3. Vysvětlete výsledky levého vnějšího spojení.

Výsledky Left Outer Join se skládají z řádků z levé tabulky a také odpovídajících řádků z pravé tabulky. V případě, že neexistují žádné odpovídající řádky z pravé tabulky, odpovídající sloupce v sadě výsledků budou zobrazeny jako NULL.

4. Můžeme použít klauzuli ORDER BY spolu s Left Outer Join?

Ano, v dotazu můžeme použít klauzuli ORDER BY spolu s Left Outer Join. To seřadí výsledky spojení jako u jakéhokoli jiného dotazu.