logo

SQL LEVÉ PŘIPOJENÍ

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

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:

zaměstnanecký stůl

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í

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:

levé spojení ve výstupu příkladu SQL

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 výstupem příkladu klauzule where

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 příklad aliasů

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ů.