logo

Видове SQL JOIN

SQL JOIN

SQL Join се използва за извличане или комбиниране на данни (редове или колони) от две или повече таблици въз основа на дефинираните условия.

Таблица 1: Ред

OrderID Клиентски номер Име на поръчката Име на продукта
12025 101 Петър ABC
12030 105 Робърт XYX
12032 110 Джеймс XYZ
12034 115 Андрю PQR
12035 120 Матю AAA

Таблица 2: Клиент

Клиентски номер Потребителско име Държава
100 разхвърлян Максико
101 принц Тайван
103 Мария Фернандес Турция
105 Жасмин Париж
110 Фаф Невестулка Индонезия
120 Римска ракета Русия

Сега имаме две маси Поръчка и на Клиент . Има Клиентски номер обща колона и в двете таблици. И така, напишете SQL заявката, за да дефинирате общата връзка, за да изберете записите на съвпаденията от двете таблици.

 Select Order.OrderID, Customer.CustomerName, Customer.Country, Order.ProductName from Order INNER JOIN Customer ON Order.CustomerID = Customer.CustomerID; 

След изпълнение на горното SQL заявки, той произвежда следния изход:

OrderID Потребителско име Държава Име на продукта
12025 принц Тайван ABC
12030 Жасмин Париж XYX
12032 Фаф Невестулка Индонезия XYZ
12035 Римска ракета Русия AAA

Видове SQL присъединяване

Има различни типове съединения, използвани в SQL:

  1. Вътрешно присъединяване / просто присъединяване
  2. Ляво външно съединение / ляво съединение
  3. Дясно външно съединение / дясно съединение
  4. Пълно външно присъединяване
  5. Кръстосано присъединяване
  6. Самостоятелно присъединяване

Вътрешно присъединяване

Вътрешното съединение се използва за избиране на всички съвпадащи редове или колони в двете таблици или докато дефинираното условие е валидно в SQL.

Синтаксис:

 Select column_1, column_2, column_3 FROM table_1 INNER JOIN table_2 ON table_1.column = table_2.column; 

Можем да представим вътрешното съединение чрез диаграмата на Venn, както следва:

Видове SQL JOIN

Таблица 1: Студенти

Student_ID Име на ученик Предмет TeacherID
101 Александра Информатика T201
102 Чарлз икономика T202
103 Том Круз Информатика T201
104 Арън Финч електроника T203
105 Сийд Байоф Уеб дизайн T204
106 Кристофър Английска литература T205
107 Дънков плат Моден дизайнер T206

Таблица 2: Учители

TeacherID Име на учителя Имейл на учителя
T201 Г-н Дейвис [имейл защитен]
T202 Г-жа Джонас [имейл защитен]
T201 Г-н Дейвис [имейл защитен]
T204 Г-жа Лопес [имейл защитен]
T205 Г-жо Уайли [имейл защитен]
T206 Мистър Бийн [имейл защитен]

Имаме две маси: Ученици и на Учители Маси. Нека напишем SQL заявките, за да се присъединим към таблицата, използвайки ВЪТРЕШНО СЪЕДИНЕНИЕ както следва:

 Select Student_ID, StudentName, TeacherName, TeacherEmail FROM Students INNER JOIN Teachers ON Students.TeacherID = Teachers.TeacherID; 

След изпълнение на заявката, тя създава таблицата по-долу.

Видове SQL JOIN

Естествено присъединяване

Това е тип вътрешен тип, който обединява две или повече таблици въз основа на едно и също име на колона и има един и същ тип данни, присъстващ и в двете таблици.

Синтаксис:

 Select * from tablename1 Natural JOIN tablename_2; 

Имаме две маси: Ученици и на Учители Маси. Нека напишем SQL заявките, за да се присъединим към таблицата, използвайки Естествен JOIN както следва:

 Select * from Students Natural JOIN Teachers; 

След изпълнение на горната заявка, тя създава следната таблица.

Видове SQL JOIN

ЛЯВО ПРИСЪЕДИНЯВАНЕ

The ЛЯВО ПРИСЪЕДИНЯВАНЕ се използва за извличане на всички записи от лявата таблица (таблица1) и съответстващите редове или колони от дясната таблица (таблица2). Ако и двете таблици не съдържат съответстващи редове или колони, тя връща NULL.

Синтаксис:

 Select column_1, column_2, column(s) FROM table_1 LEFT JOIN table_2 ON table_1.column_name = table_2.column_name; 

Можем също да представим лявото съединение чрез диаграмата на Venn, както следва:

Видове SQL JOIN

Забележка: В някои бази данни LEFT JOIN е известен също като LEFT OUTER JOIN.

Таблица 1: Product_Details

Идентификация на продукта Име на продукта Количество
Pro101 Лаптоп 56 000
Pro102 Подвижен 38 000
Pro103 Слушалки 5000
Pro104 телевизия 25 000
Pro105 Ай Пад 60 000

Таблица 2: Customer_Details

цяло число двойно java
Потребителско име Адрес на клиента CustomerAge Идентификация на продукта
Мартин Гуптил Сан Франциско, САЩ 26 Pro101
Джеймс Австралия 29 Pro103
Амбати Уилямсън Нова Зеландия 27 Pro102
Джофра Арчър Южна Африка 24 Pro105
Кейт Уайли Австралия двадесет Pro103

Имаме две маси: Информация за продукта и на Customer_Details Маси. Нека напишем SQL заявките, за да се присъединим към таблицата, използвайки ЛЯВО ПРИСЪЕДИНЯВАНЕ както следва:

 Select ID, ProductName, CustomerName, CustomerAddress, Amount FROM Product_Details LEFT JOIN Customer_Details ON Product_Details.ID = Customer_Details.ProductID; 

След изпълнение на заявката, тя създава следната таблица.

Видове SQL JOIN

The ДЯСНО ПРИСЪЕДИНЕТЕ се използва за извличане на всички записи от дясната таблица (таблица2) и съответстващите редове или колони от лявата таблица (таблица1). Ако и двете таблици не съдържат съответстващи редове или колони, тя връща NULL.

Синтаксис:

 Select column_1, column_2, column(s) FROM table_1 RIGHT JOIN table_2 ON table_1.column_name = table_2.column_name; 

Можем също да представим дясното съединение чрез диаграмата на Вен, както следва:

Видове SQL JOIN

Забележка: В някои бази данни RIGHT JOIN е известен също като RIGHT OUTER JOIN.

Таблица 1: Product_Details

документ за самоличност Име на продукта Количество
Pro101 Лаптоп 56 000
Pro102 Подвижен 38 000
Pro103 Слушалки 5000
Pro104 телевизия 25 000
Pro105 Ай Пад 60 000

Таблица 2: Customer_Details

Потребителско име Адрес на клиента CustomerAge Идентификация на продукта
Мартин Гуптил Сан Франциско, САЩ 26 Pro101
Джеймс Австралия 29 Pro103
Амбати Уилямсън Нова Зеландия 27 Pro102
Джофра Арчър Южна Африка 24 Pro105
поличба Англия 29 Pro107
Морган Англия двадесет Pro108

Имаме две маси: Информация за продукта и на Customer_Details Маси. Нека напишем SQL заявките, за да се присъединим към таблицата, използвайки ДЯСНО ПРИСЪЕДИНЕТЕ както следва:

 Select ID, ProductName, CustomerName, CustomerAddress, Amount FROM Product_Details LEFT JOIN Customer_Details ON Product_Details.ID = Customer_Details.ProductID; 

След изпълнение на заявката, тя създава таблицата по-долу.

Видове SQL JOIN

FULL JOIN или FULL Outer JOIN:

Това е комбинация от резултати от двете ЛЯВО ПРИСЪЕДИНЯВАНЕ и ДЯСНО ПРИСЪЕДИНЕТЕ . Обединените таблици връщат всички записи от двете таблици и ако не бъдат намерени съвпадения в таблицата, тя поставя NULL. Нарича се още а ПЪЛНО ВЪНШНО СЪЕДИНЕНИЕ .

Синтаксис:

 Select column_1, column_2, column(s) FROM table_1 FULL JOIN table_2 ON table_1.column_name = table_2.column_name; 

Или, ПЪЛНО ВЪНШНО СЪЕДИНЕНИЕ

 Select column_1, column_2, column(s) FROM table_1 FULL OUTER JOIN table_2 ON table_1.column_name = table_2.column_name; 

Можем също да представим пълното външно съединение чрез диаграмата на Venn, както следва:

Видове SQL JOIN

Таблица 1: Product_Details

документ за самоличност Име на продукта Количество
Pro101 Лаптоп 56 000
Pro102 Подвижен 38 000
Pro103 Слушалки 5000
Pro104 телевизия 25 000
Pro105 Ай Пад 60 000

Таблица 2: Customer_Details

Потребителско име Адрес на клиента CustomerAge Идентификация на продукта
Мартин Гуптил Сан Франциско, САЩ 26 Pro101
Джеймс Австралия 29 Pro103
Амбати Уилямсън Нова Зеландия 27 Pro102
Джофра Арчър Южна Африка 24 Pro105
поличба Англия 29 Pro107
Морган Англия двадесет Pro108

Имаме две маси: Информация за продукта и на Customer_Details Маси. Нека напишем SQL заявките, за да се присъединим към таблицата, използвайки ПЪЛЕН ПРИСЪЕДИНЕТЕ се както следва:

 Select ID, ProductName, CustomerName, CustomerAddress, Amount FROM Product_Details FULL JOIN Customer_Details ON Product_Details.ID = Customer_Details.ProductID; 

След изпълнение на заявката, тя създава таблицата по-долу.

Видове SQL JOIN

Забележка: MySQL не поддържа концепции FULL JOIN, така че можем да използваме клауза UNION ALL, за да комбинираме и двете таблици.

Ето синтаксиса за СЪЮЗ ВСИЧКИ Клауза за комбиниране на таблиците.

 Select ID, ProductName, CustomerName, CustomerAddress, Amount FROM Product_Details LEFT JOIN Customer_Details ON Product_Details.ID = Customer_Details.ProductID UNION ALL Select ID, ProductName, CustomerName, CustomerAddress, Amount FROM Product_Details RIGHT JOIN Customer_Details ON Product_Details.ID = Customer_Details.ProductID 

Видове SQL JOIN

КРЪСТОСТНА СЪЕДИНКА

Известен е още като КАРТЕЗИАНСКО СЪЕДИНЕНИЕ , който връща декартовото произведение на две или повече обединени таблици. The КРЪСТОСТНА СЪЕДИНКА създава таблица, която обединява всеки ред от първата таблица с всеки втори ред на таблицата. Не е необходимо да се включва условие в CROSS JOIN.

Синтаксис:

 Select * from table_1 cross join table_2; 

Или,

 Select column1, column2, column3 FROM table_1, table_2; 

Таблица 1: Product_Details

документ за самоличност Име на продукта Количество
Pro101 Лаптоп 56 000
Pro102 Подвижен 38 000
Pro103 Слушалки 5000
Pro104 телевизия 25 000
Pro105 Ай Пад 60 000

Таблица 2: Customer_Details

текстова обвивка css
Потребителско име Адрес на клиента CustomerAge Идентификация на продукта
Мартин Гуптил Сан Франциско, САЩ 26 Pro101
Джеймс Австралия 29 Pro103
Амбати Уилямсън Нова Зеландия 27 Pro102
Джофра Арчър Южна Африка 24 Pro105
поличба Англия 29 Pro107
Морган Англия двадесет Pro108

Имаме две маси: Информация за продукта и на Customer_Details Маси. Нека напишем SQL заявките, за да се присъединим към таблицата, използвайки ПЪЛЕН ПРИСЪЕДИНЕТЕ се както следва:

 Select ID, ProductName, CustomerName, CustomerAddress, Amount FROM Product_Details, Customer_Details; 

След изпълнение на заявката, тя създава таблицата по-долу.

Видове SQL JOIN

ПРИСЪЕДИНЕТЕ СЕ САМО

Това е SELF JOIN, използван за създаване на таблица чрез самосъединяване, тъй като имаше две таблици. Той прави временно именуване на поне една таблица в SQL оператор.

Синтаксис:

 Select column1, column2, column(s) FROM table_1 Tbl1, table_2 Tbl2 WHERE condition; 

маса 1 и Tbl2 са два различни псевдонима на таблица за една и съща таблица.

Таблица 1: Product_Details

документ за самоличност Име на продукта Количество
Pro101 Лаптоп 56 000
Pro102 Подвижен 38 000
Pro103 Слушалки 5000
Pro104 телевизия 25 000
Pro105 Ай Пад 60 000

Нека напишем SQL заявките, за да се присъединим към таблицата, използвайки ПРИСЪЕДИНЕТЕ СЕ САМО както следва:

 Select TB.ID, TB.ProductName FROM Product_Details TB, Product_Details TB2 WHERE TB.AMOUNT <tb2.amount; < pre> <p>After executing the query, it produces the below table. </p> <img src="//techcodeview.com/img/sql-tutorial/44/types-sql-join-12.webp" alt="Types of SQL JOIN"> <hr></tb2.amount;>