logo

SQL LEFT JOIN

SQL LEFT JOIN kommandoen returnerer alle poster fra venstre tabell og samsvarende poster fra høyre tabell.

java-strengen er tom

LEFT JOIN i SQL

LEFT JOIN i SQL brukes til å kombinere rader fra to eller flere tabeller, basert på en relatert kolonne mellom dem. Den returnerer alle rader fra venstre tabell og samsvarende poster fra høyre tabell.

Hvis det ikke er noen samsvarende post i den høyre tabellen, vil postene fra den høyre tabellen inneholde NULL-verdier .



Det betyr at hvis en bestemt rad er til stede i den venstre tabellen, men ikke i den høyre, vil resultatet inkludere denne raden, men med en NULL-verdi i hver kolonne fra høyre. Hvis en post fra høyre tabell ikke er til venstre, vil den ikke inkluderes i resultatet.

VENSTRE BLI MED TIL Venn Diagram

Dette VENN-diagrammet viser hvordan en LEFT JOIN fungerer.

Venstre Bli med

VENSTRE BLI MED

Syntaks

LEFT JOIN-syntaksen er:

VELG kolonnenavn(e)
FRA tabellA
VENSTRE JOIN tabellB PÅ tableA.column_name = tableB.column_name;

Eksempel på SQL LEFT JOIN

La oss se på et eksempel på LEFT JOIN i SQL for å forstå det bedre.

La oss vurdere to tabeller Emp som inneholder detaljer om den ansatte som jobber i den aktuelle avdelingen, og avdelingstabell som inneholder detaljene for avdelingen

Ansatt bord

Spørsmål:

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

Produksjon:

ansatt bord

Ansatt bord

Avdelingstabell

Spørsmål:

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

Produksjon:

hvordan konvertere char til string java
avdelingstabell

Avdelingstabell

LEFT JOIN i SQL Eksempel

For å utføre left-join på disse to tabellene vil vi bruke følgende SQL-spørring:

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

Produksjon:

venstre bli med i sql eksempelutgang

LEFT JOIN i SQL Eksempelutdata

Som venstre sammenføyning gir de samsvarende radene og radene som er til stede i den venstre tabellen, men ikke i den høyre tabellen. Her i dette eksemplet ser vi at de ansatte som ikke jobber i en bestemt avdeling, det vil si at de har ingen verdier som [NULL], inneholder [NULL] verdier for avdelingens navn og plassering etter den venstre sammenføyningen.

SQL LEFT JOIN med WHERE-klausuleksempel

I dette eksemplet vil vi legge til en WHERE-klausul som spesifiserer å kun returnere resultater der plasseringskolonnen i avdelingstabellen er lik 'Bangalore'. Dette vil filtrere resultatene til kun å vise ansatte som tilhører en avdeling lokalisert i Bangalore, og avdelinger som ikke har ansatte vil ikke bli returnert i resultatene.

Spørsmål:

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

Produksjon:

sql left join with where-klausul eksempelutgang

SQL LEFT JOIN med WHERE-klausuleksempel

SQL LEFT JOIN som aliaseksempel

I denne spørringen bruker vi aliaser e for Emp-tabellen og d for avdelingstabellen. De PLUKKE UT setningen refererer til disse aliasene for hver kolonne, noe som gjør spørringen lettere å lese og skrive. Aliaser forenkler kode og forbedrer lesbarheten, spesielt med lange eller komplekse tabellnavn.

Spørsmål:

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

Produksjon:

sql venstre join som alias eksempel utgang

SQL LEFT JOIN som aliaser Eksempel utgang

Viktige punkter om SQL LEFT JOIN

  • LEFT JOIN returnerer alle poster fra venstre tabell og samsvarende poster fra høyre tabell.
  • NULL-verdier er inkludert for uovertrufne poster på høyre side.
  • LEFT JOIN brukes til å kombinere data basert på relaterte kolonner.
  • Aliaser kan forenkle spørringer med lange tabellnavn.
  • LEFT JOIN med WHERE-klausulen brukes til å filtrere poster.