logo

SQL LEFT JOIN

SQL LEFT JOIN príkaz vráti všetky záznamy z ľavej tabuľky a zodpovedajúce záznamy z pravej tabuľky.

LEFT JOIN v SQL

LEFT JOIN v SQL sa používa na spojenie riadkov z dvoch alebo viacerých tabuliek na základe súvisiaceho stĺpca medzi nimi. Vráti všetky riadky z ľavej tabuľky a zodpovedajúce záznamy z pravej tabuľky.

Ak sa v pravej tabuľke nenachádza žiadny zodpovedajúci záznam, záznamy z pravej tabuľky budú obsahovať hodnoty NULL .



To znamená, že ak sa určitý riadok nachádza v ľavej tabuľke, ale nie v pravej, výsledok bude zahŕňať tento riadok, ale s hodnotou NULL v každom stĺpci sprava. Ak záznam z pravej tabuľky nie je vľavo, nebude započítaný do výsledku.

LEFT JOIN Venn diagram

Tento VENN diagram ukazuje, ako funguje LEFT JOIN.

Ľavé pripojenie

ĽAVÉ PRIPOJENIE

Syntax

Syntax LEFT JOIN je:

SELECT názvy stĺpcov
Z tabuľky A
LEFT JOIN tableB ON tableA.column_name = tableB.column_name;

hodnota java reťazca

Príklad SQL LEFT JOIN

Pozrime sa na príklad LEFT JOIN v SQL, aby sme mu lepšie porozumeli.

Zoberme si dve tabuľky Emp obsahujúce podrobnosti o zamestnancovi pracujúcom v konkrétnom oddelení a tabuľku oddelenia obsahujúcu podrobnosti o oddelení

Tabuľka zamestnancov

Dopyt:

CREATE TABLE Emp (  EmpID INT PRIMARY KEY,  Name VARCHAR(50),  Country VARCHAR(50),  Age INT,  Salary INT,  department_id INT );  INSERT INTO Emp (EmpID, Name, Country, Age, Salary, department_id) VALUES (1, 'Shubham', 'India', 23, 30000, 101),  (2, 'Aman', 'Australia', 21, 45000, 102),  (3, 'Naveen', 'Sri Lanka', 24, 40000, 103),  (4, 'Aditya', 'Austria', 21, 35000, 104),  (5, 'Nishant', 'Spain', 22, 25000, 101);>

Výkon:

zamestnanecký stôl

Tabuľka zamestnancov

Tabuľka oddelenia

Dopyt:

  CREATE TABLE department (  department_id INT PRIMARY KEY,  department_name VARCHAR(50),  department_head VARCHAR(50),  location VARCHAR(50) );  INSERT INTO department (department_id, department_name, department_head, location)  VALUES (101, 'Sales', 'Sarah', 'New York'),  (102, 'Marketing', 'Jay', 'London'),  (103, 'Finance', 'Lavish', 'San Francisco'),  (104, 'Engineering', 'Kabir', 'Bangalore'); Select * from department;>

Výkon:

stôl oddelenia

Tabuľka oddelenia

LEFT JOIN v príklade SQL

Na vykonanie ľavého spojenia na týchto dvoch tabuľkách použijeme nasledujúci SQL dotaz:

  SELECT   Emp.EmpID, Emp.Name, department. department_name, department.department_head,  department.location    FROM   Emp   LEFT JOIN   department   ON   Emp.department_id = department.department_id;>

Výkon:

regálových psov
ľavé spojenie vo výstupe príkladu SQL

LEFT JOIN vo výstupe príkladu SQL

Ako ľavé spojenie dáva zodpovedajúce riadky a riadky, ktoré sú prítomné v ľavej tabuľke, ale nie v pravej tabuľke. Tu v tomto príklade vidíme, že zamestnanci, ktorí nepracujú na konkrétnom oddelení, t. j. nemajú žiadne hodnoty oddelenia ako [NULL], obsahujú po ľavom spojení hodnoty [NULL] názvu oddelenia a umiestnenia.

SQL LEFT JOIN s príkladom klauzuly WHERE

V tomto príklade pridáme a klauzula WHERE ktorá určuje, že sa majú vrátiť iba výsledky, kde sa stĺpec umiestnenia v tabuľke oddelenia rovná „Bangalore“. Týmto sa výsledky filtrujú tak, aby sa zobrazovali iba zamestnanci, ktorí patria do oddelenia so sídlom v Bangalore, a oddelenia, ktoré nemajú žiadnych zamestnancov, sa do výsledkov nevrátia.

Dopyt:

  SELECT   e.EmpID, e.Name, d.department_name,  d.department_head, d.location    FROM   Emp e   LEFT JOIN   department d   ON   e.department_id  = d.department_id   WHERE   d.location = 'Bangalore';>

Výkon:

sql ľavé spojenie s výstupom príkladu klauzuly where

SQL LEFT JOIN s príkladom klauzuly WHERE

SQL LEFT JOIN ako príklad aliasov

V tomto dotaze použijeme aliasy e pre tabuľku Emp a d pre tabuľku oddelení. The SELECT príkaz odkazuje na tieto aliasy pre každý stĺpec, čo uľahčuje čítanie a písanie dotazu. Aliasy zjednodušujú kód a zlepšujú čitateľnosť, najmä pri dlhých alebo zložitých názvoch tabuliek.

príklady kódu c#

Dopyt:

  SELECT   e.EmpID, e.Name, d.department_name,  d.department_head, d.location    FROM   Emp e   LEFT JOIN   department d   ON   e.department_id = d.department_id;>

Výkon:

sql ľavé spojenie ako príklad aliasov

SQL LEFT JOIN ako výstup príkladu aliasov

Dôležité body o SQL LEFT JOIN

  • LEFT JOIN vráti všetky záznamy z ľavej tabuľky a zodpovedajúce záznamy z pravej tabuľky.
  • Hodnoty NULL sú zahrnuté pre nezhodné záznamy na pravej strane.
  • LEFT JOIN sa používa na kombinovanie údajov na základe súvisiacich stĺpcov.
  • Aliasy môžu zjednodušiť dotazy s dlhými názvami tabuliek.
  • LEFT JOIN s klauzulou WHERE sa používa na filtrovanie záznamov.