logo

JOIN A L'ESQUERRA SQL

JOIN A L'ESQUERRA SQL L'ordre retorna tots els registres de la taula de l'esquerra i els registres coincidents de la taula de la dreta.

LEFT JOIN en SQL

LEFT JOIN a SQL s'utilitza per combinar files de dues o més taules, basant-se en una columna relacionada entre elles. Retorna totes les files de la taula de l'esquerra i els registres coincidents de la taula de la dreta.

Si no hi ha cap registre coincident a la taula de la dreta, els registres de la taula correcta contindran Valors NULL .



Això vol dir que, si una determinada fila està present a la taula de l'esquerra però no a la dreta, el resultat inclourà aquesta fila però amb un valor NULL a cada columna de la dreta. Si un registre de la taula dreta no es troba a l'esquerra, no s'inclourà en el resultat.

LEFT JOIN Diagrama de Venn

Aquest diagrama VENN mostra com funciona un LEFT JOIN.

Uneix-te a l'esquerra

UNIR-SE A L'ESQUERRA

Sintaxi

La sintaxi LEFT JOIN és:

SELECT column_name(s)
DE LA taulaA
LEFT JOIN tableB ON tableA.column_name = tableB.column_name;

Exemple SQL LEFT JOIN

Vegem un exemple de LEFT JOIN a SQL per entendre-ho millor.

Considerem dues taules Emp que contenen els detalls de l'empleat que treballa en el departament en particular i la taula del departament que conté els detalls del departament.

Taula d'empleats

Consulta:

quantes ciutats hi ha en nosaltres
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);>

Sortida:

taula dels empleats

Taula d'empleats

Taula Departament

Consulta:

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

Sortida:

taula del departament

Taula Departament

LEFT JOIN a l'exemple SQL

Per realitzar la unió a l'esquerra en aquestes dues taules utilitzarem la següent consulta SQL:

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

Sortida:

unió a l'esquerra a la sortida d'exemple de SQL

LEFT JOIN a la sortida d'exemple SQL

A mesura que la unió a l'esquerra es donen les files coincidents i les files que estan presents a la taula de l'esquerra però no a la taula de la dreta. Aquí, en aquest exemple, veiem que els empleats que no treballen en un departament concret, és a dir, que no tenen cap valor de departament com a [NULL], contenen valors [NULL] del nom del departament i la ubicació després de la unió esquerra.

SQL LEFT JOIN amb Exemple de clàusula WHERE

En aquest exemple, afegirem a clàusula ON que especifica que només retornin resultats on la columna d'ubicació de la taula de departaments sigui igual a 'Bangalore'. Això filtrarà els resultats per mostrar només els empleats que pertanyen a un departament situat a Bangalore, i els departaments que no tinguin empleats no es tornaran als resultats.

Consulta:

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

Sortida:

sql left join amb la sortida d'exemple de la clàusula where

SQL LEFT JOIN amb Exemple de clàusula WHERE

SQL LEFT JOIN com a exemple d'àlies

En aquesta consulta, utilitzarem els àlies e per a la taula Emp i d per a la taula de departaments. El SELECCIONA La instrucció fa referència a aquests àlies per a cada columna, de manera que la consulta és més fàcil de llegir i escriure. Els àlies simplifiquen el codi i milloren la llegibilitat, especialment amb noms de taules llargs o complexos.

Consulta:

diferència entre empresa i empresa
  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;>

Sortida:

sql left join com a exemple de sortida d'àlies

SQL LEFT JOIN com a sortida d'exemple d'àlies

Punts importants sobre SQL LEFT JOIN

  • LEFT JOIN retorna tots els registres de la taula de l'esquerra i els registres coincidents de la taula de la dreta.
  • S'inclouen valors NULL per a registres no coincidents al costat dret.
  • LEFT JOIN s'utilitza per combinar dades basades en columnes relacionades.
  • Els àlies poden simplificar les consultes amb noms de taula llargs.
  • La clàusula LEFT JOIN amb WHERE s'utilitza per filtrar registres.