logo

SQL LEFT JOIN

SQL LEFT JOIN kommandot returnerar alla poster från den vänstra tabellen och matchande poster från den högra tabellen.

LEFT JOIN i SQL

LEFT JOIN i SQL används för att kombinera rader från två eller flera tabeller, baserat på en relaterad kolumn mellan dem. Den returnerar alla rader från den vänstra tabellen och matchande poster från den högra tabellen.



Om det inte finns någon matchande post i den högra tabellen, kommer posterna från den högra tabellen att innehålla NULL-värden .

Det betyder att om en viss rad finns i den vänstra tabellen men inte i den högra, kommer resultatet att inkludera denna rad men med ett NULL-värde i varje kolumn från höger. Om en post från den högra tabellen inte finns till vänster kommer den inte att inkluderas i resultatet.

VÄNSTER JOIN Venn Diagram

Detta VENN-diagram visar hur en LEFT JOIN fungerar.



Vänster Gå med

VÄNSTER GÅ MED

vad är export i linux

Syntax

LEFT JOIN-syntaxen är:

VÄLJ kolumnnamn
FRÅN tabellA
LEFT JOIN tableB ON tableA.column_name = tableB.column_name;



SQL LEFT JOIN Exempel

Låt oss titta på ett exempel på LEFT JOIN i SQL för att förstå det bättre.

Låt oss överväga två tabeller Emp som innehåller information om den anställde som arbetar på den specifika avdelningen och avdelningstabell som innehåller detaljerna om avdelningen

Anställd bord

Fråga:

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);>

Produktion:

anställd bord

Anställd bord

Avdelningstabell

Fråga:

  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;>

Produktion:

avdelningstabell

Avdelningstabell

LEFT JOIN i SQL Exempel

För att utföra left-join på dessa två tabeller kommer vi att använda följande SQL-fråga:

  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;>

Produktion:

vänster gå med i sql exempelutdata

LEFT JOIN i SQL-exempelutdata

Som left join ger de matchande raderna och de rader som finns i den vänstra tabellen men inte i den högra tabellen. Här i det här exemplet ser vi att de anställda som inte arbetar på en viss avdelning, d.v.s. har inga värden på avdelningen som [NULL], innehåller [NULL] värden på avdelningens namn och plats efter den vänstra joinen.

SQL LEFT JOIN med WHERE-klausulexempel

I det här exemplet lägger vi till en WHERE klausul som anger att endast returnera resultat där platskolumnen i avdelningstabellen är lika med 'Bangalore'. Detta kommer att filtrera resultaten för att endast visa anställda som tillhör en avdelning i Bangalore, och avdelningar som inte har några anställda kommer inte att returneras i resultaten.

Fråga:

  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';>

Produktion:

sql left join with where-sats exempel utdata

SQL LEFT JOIN med WHERE-klausulexempel

SQL LEFT JOIN som alias Exempel

I den här frågan använder vi alias e för Emp-tabellen och d för avdelningstabellen. De VÄLJ uttalande refererar till dessa alias för varje kolumn, vilket gör frågan lättare att läsa och skriva. Alias ​​förenklar kod och förbättrar läsbarheten, särskilt med långa eller komplexa tabellnamn.

Fråga:

  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;>

Produktion:

sql left join som alias exempel utdata

SQL LEFT JOIN som alias Exempel utdata

Viktiga punkter om SQL LEFT JOIN

  • LEFT JOIN returnerar alla poster från den vänstra tabellen och matchande poster från den högra tabellen.
  • NULL-värden ingår för omatchade poster på höger sida.
  • LEFT JOIN används för att kombinera data baserat på relaterade kolumner.
  • Alias ​​kan förenkla frågor med långa tabellnamn.
  • LEFT JOIN med WHERE-satsen används för att filtrera poster.