logo

SQL LEFT JOIN

SQL LEFT JOIN komanda grąžina visus įrašus iš kairiosios lentelės ir atitinkamus įrašus iš dešinės lentelės.

LEFT JOIN SQL

LEFT JOIN SQL naudojamas sujungti eilutes iš dviejų ar daugiau lentelių, remiantis susijusiu stulpeliu tarp jų. Jis grąžina visas eilutes iš kairiosios lentelės ir atitinkančius įrašus iš dešinės lentelės.

Jei dešiniojoje lentelėje nėra atitinkamo įrašo, tada bus įrašai iš dešinės lentelės NULL reikšmės .



Tai reiškia, kad jei tam tikra eilutė yra kairiojoje lentelėje, bet ne dešinėje, rezultatas bus įtrauktas į šią eilutę, bet kiekviename stulpelyje iš dešinės bus NULL reikšmė. Jei įrašo iš dešinės lentelės nėra kairėje, jis nebus įtrauktas į rezultatą.

KAIRĖ PRISIJUNGTI Venn diagrama

Šioje VENN diagramoje parodyta, kaip veikia LEFT JOIN.

Kairė prisijungti

KAIRĖ PRISIJUNGTI

mesti java išimties tvarkymą

Sintaksė

LEFT JOIN sintaksė yra tokia:

SELECT stulpelio_pavadinimai
IŠ lentelės A
LEFT JOIN lentelęB PRIE lentelėsA.stulpelio_pavadinimas = lentelėB.stulpelio_pavadinimas;

SQL LEFT JOIN pavyzdys

Pažvelkime į LEFT JOIN pavyzdį SQL, kad jį geriau suprastume.

Panagrinėkime dvi lenteles Emp, kuriose yra informacija apie darbuotoją, dirbančią konkrečiame skyriuje, ir skyriaus lentelę, kurioje yra išsami informacija apie skyrių

Darbuotojų lentelė

Užklausa:

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

Išvestis:

darbuotojų stalas

Darbuotojų lentelė

Skyriaus lentelė

Užklausa:

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

Išvestis:

skyriaus lentelė

Skyriaus lentelė

LEFT JOIN SQL pavyzdyje

Norėdami atlikti šių dviejų lentelių sujungimą kairėje pusėje, naudosime šią SQL užklausą:

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

Išvestis:

kairysis sujungimas sql pavyzdžio išvestyje

LEFT JOIN SQL pavyzdžio išvestyje

Sujungimas į kairę suteikia atitinkamas eilutes ir eilutes, kurios yra kairiojoje lentelėje, bet nėra dešiniojoje lentelėje. Šiame pavyzdyje matome, kad darbuotojai, kurie nedirba konkrečiame skyriuje, t. y. neturintys skyriaus reikšmių kaip [NULL], po kairiojo prisijungimo turi [NULL] skyriaus pavadinimo ir vietos reikšmes.

SQL LEFT JOIN su WHERE sąlygos pavyzdys

Šiame pavyzdyje pridėsime a WERE sąlyga nurodoma pateikti tik tuos rezultatus, kai skyriaus lentelės vietos stulpelis yra lygus „Bangalore“. Rezultatai bus filtruojami, kad būtų rodomi tik darbuotojai, priklausantys Bangalore esančiam skyriui, o skyriai, kuriuose nėra darbuotojų, rezultatuose nebus pateikiami.

Užklausa:

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

Išvestis:

sql kairėje join su kur išlyga pavyzdys išvestis

SQL LEFT JOIN su WHERE sąlygos pavyzdys

SQL LEFT JOIN kaip slapyvardžių pavyzdys

Šioje užklausoje naudosime slapyvardžius e lentelei Emp ir d skyrių lentelei. The PASIRINKTI teiginys nurodo šiuos kiekvieno stulpelio slapyvardžius, todėl užklausą lengviau skaityti ir įvesti. Slapyvardžiai supaprastina kodą ir pagerina skaitomumą, ypač naudojant ilgus ar sudėtingus lentelių pavadinimus.

Užklausa:

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

Išvestis:

sql left join kaip slapyvardžių išvesties pavyzdys

SQL LEFT JOIN kaip slapyvardžių pavyzdys

Svarbūs punktai apie SQL LEFT JOIN

  • LEFT JOIN grąžina visus įrašus iš kairiosios lentelės ir atitinkančius įrašus iš dešinės lentelės.
  • NULL reikšmės įtraukiamos nesuderinamiems įrašams dešinėje.
  • LEFT JOIN naudojamas duomenims sujungti pagal susijusius stulpelius.
  • Pseudonimai gali supaprastinti užklausas su ilgais lentelių pavadinimais.
  • LEFT JOIN su WHERE sąlyga naudojama įrašams filtruoti.