SQL LEVÉ PŘIPOJENÍ příkaz vrátí všechny záznamy z levé tabulky a odpovídající záznamy z pravé tabulky.
LEFT JOIN v SQL
LEFT JOIN v SQL se používá ke spojení řádků ze dvou nebo více tabulek na základě souvisejícího sloupce mezi nimi. Vrátí všechny řádky z levé tabulky a odpovídající záznamy z pravé tabulky.
Pokud v pravé tabulce není žádný odpovídající záznam, budou obsahovat záznamy z pravé tabulky hodnoty NULL .
To znamená, že pokud je určitý řádek přítomen v levé tabulce, ale ne v pravé, výsledek bude zahrnovat tento řádek, ale s hodnotou NULL v každém sloupci zprava. Pokud záznam z pravé tabulky není vlevo, nebude zahrnut do výsledku.
LEFT JOIN Vennův diagram
Tento VENNův diagram ukazuje, jak funguje LEFT JOIN.

PŘIPOJIT SE VLEVO
Syntax
Syntaxe LEFT JOIN je:
SELECT názvy sloupců
Z tabulky A
LEFT JOIN tableB ON tableA.column_name = tableB.column_name;
Příklad SQL LEFT JOIN
Podívejme se na příklad LEFT JOIN v SQL, abychom mu lépe porozuměli.
Podívejme se na dvě tabulky Emp obsahující podrobnosti o zaměstnanci pracujícím v konkrétním oddělení a tabulku oddělení obsahující podrobnosti o oddělení
Tabulka zaměstnanců
Dotaz:
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ýstup:

Tabulka zaměstnanců
Stůl oddělení
Dotaz:
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ýstup:

Stůl oddělení
LEFT JOIN v příkladu SQL
K provedení levého spojení na těchto dvou tabulkách použijeme následující 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ýstup:

LEFT JOIN ve výstupu příkladu SQL
ten nejkrásnější úsměv
Jako levé spojení dává odpovídající řádky a řádky, které jsou přítomny v levé tabulce, ale ne v pravé tabulce. Zde v tomto příkladu vidíme, že zaměstnanci, kteří nepracují v konkrétním oddělení, tj. nemají žádné hodnoty oddělení jako [NULL], obsahují po levém spojení hodnoty [NULL] názvu oddělení a umístění.
SQL LEFT JOIN s příkladem klauzule WHERE
V tomto příkladu přidáme a klauzule WHERE což určuje, že se mají vrátit pouze výsledky, kde se sloupec umístění v tabulce oddělení rovná ‚Bangalore‘. Tím se výsledky filtrují tak, aby se zobrazovali pouze zaměstnanci, kteří patří do oddělení se sídlem v Bangalore, a oddělení, která nemají žádné zaměstnance, nebudou ve výsledcích vrácena.
Dotaz:
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ýstup:

SQL LEFT JOIN s příkladem klauzule WHERE
SQL LEFT JOIN jako příklad aliasů
V tomto dotazu použijeme aliasy e pro tabulku Emp a d pro tabulku oddělení. The VYBRAT příkaz odkazuje na tyto aliasy pro každý sloupec, což usnadňuje čtení a psaní dotazu. Aliasy zjednodušují kód a zlepšují čitelnost, zejména u dlouhých nebo složitých názvů tabulek.
Dotaz:
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ýstup:

SQL LEFT JOIN jako výstup příkladu aliasů
Důležité body o SQL LEFT JOIN
- LEFT JOIN vrátí všechny záznamy z levé tabulky a odpovídající záznamy z pravé tabulky.
- Hodnoty NULL jsou zahrnuty pro neodpovídající záznamy na pravé straně.
- LEFT JOIN se používá ke spojení dat na základě souvisejících sloupců.
- Aliasy mohou zjednodušit dotazy s dlouhými názvy tabulek.
- LEFT JOIN s klauzulí WHERE se používá pro filtrování záznamů.