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 використовуються різні типи об’єднань:
- Внутрішнє з'єднання / просте з'єднання
- Ліве зовнішнє з'єднання / Ліве з'єднання
- Праве зовнішнє з'єднання / Праве з'єднання
- Повне зовнішнє з'єднання
- Перехресне приєднання
- Приєднатися самостійно
Внутрішнє з'єднання
Внутрішнє об’єднання використовується для вибору всіх відповідних рядків або стовпців в обох таблицях або доки визначена умова дійсна в SQL.
Синтаксис:
Select column_1, column_2, column_3 FROM table_1 INNER JOIN table_2 ON table_1.column = table_2.column;
Ми можемо представити внутрішнє з’єднання за допомогою діаграми Венна таким чином:
Таблиця 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;
Після виконання запиту створюється наведена нижче таблиця.
Природне приєднання
Це тип внутрішнього типу, який об’єднує дві або більше таблиць на основі однакового імені стовпця та має однаковий тип даних, присутній в обох таблицях.
Синтаксис:
Select * from tablename1 Natural JOIN tablename_2;
Маємо дві таблиці: Студенти і Вчителі Таблиці. Давайте напишемо запити SQL для об’єднання таблиці за допомогою Природний JOIN наступним чином:
Select * from Students Natural JOIN Teachers;
Після виконання наведеного вище запиту створюється наступна таблиця.
ЛІВОГО ПРИЄДНАННЯ
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;
Ми також можемо представити ліве об’єднання за допомогою діаграми Венна таким чином:
Примітка. У деяких базах даних 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;
Після виконання запиту створюється наступна таблиця.
RIGHT JOIN або RIGHT Outer 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
Примітка. У деяких базах даних 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;
Після виконання запиту створюється наведена нижче таблиця.
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;
Ми також можемо представити повне зовнішнє з’єднання за допомогою діаграми Венна таким чином:
Таблиця 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;
Після виконання запиту створюється наведена нижче таблиця.
Примітка: 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
ХРЕСНЕ З'ЄДНАННЯ
Він також відомий як ДЕКАРТОВЕ З'ЄДНАННЯ , який повертає декартів добуток двох або більше об’єднаних таблиць. 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;
Після виконання запиту створюється наведена нижче таблиця.
САМ ПРИЄДНУЙСЯ
Це 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;>