logo

Типи SQL JOIN

SQL JOIN

SQL Join використовується для отримання або об’єднання даних (рядків або стовпців) із двох або більше таблиць на основі визначених умов.

Таблиця 1: Порядок

OrderID CustomerID OrderName Назва продукту
12025 101 Петро ABC
12030 105 Роберт XYX
12032 110 Джеймс XYZ
12034 115 Андрій PQR
12035 120 Метью AAA

Таблиця 2: Замовник

CustomerID Ім'я клієнта Країна
100 Безладний Максіко
101 Принц Тайвань
103 Марія Фернандес Туреччина
105 Жасмин Париж
110 Фаф Ласка Індонезія
120 Римська ракета Росія

Тепер у нас є два столи порядок і Замовник . Є CustomerID спільний стовпець в обох таблицях. Отже, напишіть 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 Join

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

Ми можемо представити внутрішнє з’єднання за допомогою діаграми Венна таким чином:

Типи SQL JOIN

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

Student_ID Ім'я студента Тема TeacherID
101 Олександра Комп'ютерна наука T201
102 Чарльз Економіка Т202
103 Том Круз Комп'ютерна наука T201
104 Аарон Фінч електроніка T203
105 Сід Байофф Веб-дизайн T204
106 Крістофер Англійська література Т205
107 Денім Модельєр T206

Таблиця 2: Вчителі

TeacherID Ім'я вчителя TeacherEmail
T201 Містер Девіс [електронна пошта захищена]
Т202 Пані Джонас [електронна пошта захищена]
T201 Містер Девіс [електронна пошта захищена]
T204 Пані Лопес [електронна пошта захищена]
Т205 Пані Вайлі [електронна пошта захищена]
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; 

Ми також можемо представити ліве об’єднання за допомогою діаграми Венна таким чином:

Типи SQL JOIN

Примітка. У деяких базах даних LEFT JOIN також відомий як LEFT OUTER JOIN.

Таблиця 1: Product_Details

ProductID Назва продукту Сума
Pro101 Ноутбук 56000
Pro102 Мобільний 38000
Pro103 Навушники 5000
Pro104 телебачення 25000
Pro105 iPad 60000

Таблиця 2: Customer_Details

rhel проти centos
Ім'я клієнта Адреса клієнта CustomerAge ProductID
Мартін Гуптіл Сан-Франциско, США 26 Pro101
Джеймс Австралія 29 Pro103
Амбаті Вільямсон Нова Зеландія 27 Pro102
Джофра Арчер Південна Африка 24 Pro105
Кейт Уайлі Австралія двадцять Pro103

Маємо дві таблиці: Деталі продукту і Деталі_клієнта Таблиці. Давайте напишемо запити SQL для об’єднання таблиці за допомогою ЛІВОГО ПРИЄДНАННЯ наступним чином:

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

Після виконання запиту створюється наступна таблиця.

Типи SQL JOIN

The ПРАВО ПРИЄДНУЙТЕСЯ використовується для отримання всіх записів із правої таблиці (table2) і відповідних рядків або стовпців із лівої таблиці (table1). Якщо обидві таблиці не містять відповідних рядків або стовпців, повертається NULL.

Синтаксис:

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

Ми також можемо представити праве з’єднання за допомогою діаграми Венна таким чином:

межа за допомогою css
Типи SQL JOIN

Примітка. У деяких базах даних RIGHT JOIN також відомий як RIGHT OUTER JOIN.

Таблиця 1: Product_Details

ID Назва продукту Сума
Pro101 Ноутбук 56000
Pro102 Мобільний 38000
Pro103 Навушники 5000
Pro104 телебачення 25000
Pro105 iPad 60000

Таблиця 2: Customer_Details

Ім'я клієнта Адреса клієнта CustomerAge ProductID
Мартін Гуптіл Сан-Франциско, США 26 Pro101
Джеймс Австралія 29 Pro103
Амбаті Вільямсон Нова Зеландія 27 Pro102
Джофра Арчер Південна Африка 24 Pro105
Омен Англія 29 Pro107
Морган Англія двадцять Pro108

Маємо дві таблиці: Деталі продукту і Деталі_клієнта Таблиці. Давайте напишемо запити 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. Його також називають a ПОВНЕ ЗОВНІШНЄ З'ЄДНАННЯ .

Синтаксис:

 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; 

Ми також можемо представити повне зовнішнє з’єднання за допомогою діаграми Венна таким чином:

Типи SQL JOIN

Таблиця 1: Product_Details

ID Назва продукту Сума
Pro101 Ноутбук 56000
Pro102 Мобільний 38000
Pro103 Навушники 5000
Pro104 телебачення 25000
Pro105 iPad 60000

Таблиця 2: Customer_Details

Ім'я клієнта Адреса клієнта CustomerAge ProductID
Мартін Гуптіл Сан-Франциско, США 26 Pro101
Джеймс Австралія 29 Pro103
Амбаті Вільямсон Нова Зеландія 27 Pro102
Джофра Арчер Південна Африка 24 Pro105
Омен Англія 29 Pro107
Морган Англія двадцять Pro108

Маємо дві таблиці: Деталі продукту і Деталі_клієнта Таблиці. Давайте напишемо запити 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

ID Назва продукту Сума
Pro101 Ноутбук 56000
Pro102 Мобільний 38000
Pro103 Навушники 5000
Pro104 телебачення 25000
Pro105 iPad 60000

Таблиця 2: Customer_Details

Ім'я клієнта Адреса клієнта CustomerAge ProductID
Мартін Гуптіл Сан-Франциско, США 26 Pro101
Джеймс Австралія 29 Pro103
Амбаті Вільямсон Нова Зеландія 27 Pro102
Джофра Арчер Південна Африка 24 Pro105
Омен Англія 29 Pro107
Морган Англія двадцять Pro108

Маємо дві таблиці: Деталі продукту і Деталі_клієнта Таблиці. Давайте напишемо запити 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 і табл.2 це два різні псевдоніми для однієї таблиці.

Таблиця 1: Product_Details

ID Назва продукту Сума
Pro101 Ноутбук 56000
Pro102 Мобільний 38000
Pro103 Навушники 5000
Pro104 телебачення 25000
Pro105 iPad 60000

Давайте напишемо запити 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;>