logo

SQL LEWY DOŁĄCZ

SQL LEWY DOŁĄCZ polecenie zwraca wszystkie rekordy z lewej tabeli i pasujące rekordy z prawej tabeli.

LEWY DOŁĄCZ w SQL

LEFT JOIN w języku SQL służy do łączenia wierszy z dwóch lub więcej tabel na podstawie powiązanej kolumny między nimi. Zwraca wszystkie wiersze z lewej tabeli i pasujące rekordy z prawej tabeli.

Jeśli w prawej tabeli nie ma pasującego rekordu, wówczas rekordy z prawej tabeli będą zawierać Wartości NULL .



Oznacza to, że jeśli określony wiersz znajduje się w lewej tabeli, ale nie w prawej, wynik będzie uwzględniał ten wiersz, ale z wartością NULL w każdej kolumnie od prawej. Jeżeli rekordu z prawej tabeli nie ma po lewej stronie, nie zostanie on uwzględniony w wyniku.

LEWY DOŁĄCZ Diagram Venna

Ten diagram VENN pokazuje, jak działa LEFT JOIN.

Lewe dołączenie

LEWO DOŁĄCZ

Składnia

Składnia LEFT JOIN jest następująca:

WYBIERZ nazwy kolumn
Z tabeliA
LEWY DOŁĄCZ do tabeliB ON tabelaA.nazwa_kolumny = tabelaB.nazwa_kolumny;

ciąg znaków w tablicy c

Przykład LEWEGO DOŁĄCZENIA SQL

Spójrzmy na przykład LEFT JOIN w SQL, aby lepiej to zrozumieć.

Rozważmy dwie tabele Emp zawierające dane Pracownika pracującego w danym dziale oraz tabelę działów zawierającą dane działu

Tabela pracowników

Zapytanie:

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

Wyjście:

stół pracowniczy

Tabela pracowników

Tabela wydziałowa

Zapytanie:

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

Wyjście:

stół wydziałowy

Tabela wydziałowa

LEFT JOIN w przykładzie SQL

Aby wykonać łączenie lewostronne na tych dwóch tabelach, użyjemy następującego zapytania 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;>

Wyjście:

tablica obiektów Java
lewe połączenie w przykładowych wynikach sql

LEFT JOIN w przykładowych wynikach SQL

As left Join daje pasujące wiersze i wiersze, które są obecne w lewej tabeli, ale nie w prawej tabeli. W tym przykładzie widzimy, że pracownicy, którzy nie pracują w konkretnym dziale, tj. nie mają działu bez wartości [NULL], zawierają [NULL] wartości nazwy działu i lokalizacji po lewym połączeniu.

SQL LEFT JOIN z przykładem klauzuli WHERE

W tym przykładzie dodamy a Klauzula WHERE która określa, że ​​mają być zwracane tylko wyniki, gdy kolumna lokalizacji w tabeli działów ma wartość „Bangalore”. Spowoduje to przefiltrowanie wyników w celu pokazania tylko pracowników należących do działu znajdującego się w Bangalore, a działy, które nie zatrudniają pracowników, nie zostaną zwrócone w wynikach.

Zapytanie:

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

Wyjście:

sql left Join z przykładowym wyjściem klauzuli Where

SQL LEFT JOIN z przykładem klauzuli WHERE

SQL LEFT JOIN jako przykład aliasów

W tym zapytaniu użyjemy aliasów e dla tabeli Emp i d dla tabeli działów. The WYBIERAĆ instrukcja odwołuje się do tych aliasów dla każdej kolumny, dzięki czemu zapytanie jest łatwiejsze do odczytania i wpisania. Aliasy upraszczają kod i poprawiają czytelność, szczególnie w przypadku długich lub złożonych nazw tabel.

znajdź na mapie C++

Zapytanie:

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

Wyjście:

sql left Join jako przykładowe dane wyjściowe aliasów

SQL LEFT JOIN jako przykładowe dane wyjściowe aliasów

Ważne punkty dotyczące SQL LEFT JOIN

  • LEFT JOIN zwraca wszystkie rekordy z lewej tabeli i pasujące rekordy z prawej tabeli.
  • Wartości NULL są uwzględniane dla niedopasowanych rekordów po prawej stronie.
  • LEFT JOIN służy do łączenia danych na podstawie powiązanych kolumn.
  • Aliasy mogą uprościć zapytania z długimi nazwami tabel.
  • Do filtrowania rekordów używana jest klauzula LEFT JOIN z klauzulą ​​WHERE.