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:
- Вътрешно присъединяване / просто присъединяване
- Ляво външно съединение / ляво съединение
- Дясно външно съединение / дясно съединение
- Пълно външно присъединяване
- Кръстосано присъединяване
- Самостоятелно присъединяване
Вътрешно присъединяване
Вътрешното съединение се използва за избиране на всички съвпадащи редове или колони в двете таблици или докато дефинираното условие е валидно в SQL.
Синтаксис:
Select column_1, column_2, column_3 FROM table_1 INNER JOIN table_2 ON table_1.column = table_2.column;
Можем да представим вътрешното съединение чрез диаграмата на Venn, както следва:
Таблица 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;
След изпълнение на заявката, тя създава таблицата по-долу.
Естествено присъединяване
Това е тип вътрешен тип, който обединява две или повече таблици въз основа на едно и също име на колона и има един и същ тип данни, присъстващ и в двете таблици.
Синтаксис:
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;
Можем също да представим лявото съединение чрез диаграмата на Venn, както следва:
Забележка: В някои бази данни 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;
След изпълнение на заявката, тя създава следната таблица.
RIGHT JOIN или RIGHT Outer 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;
Можем също да представим дясното съединение чрез диаграмата на Вен, както следва:
Забележка: В някои бази данни 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;
След изпълнение на заявката, тя създава таблицата по-долу.
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, както следва:
Таблица 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;
След изпълнение на заявката, тя създава таблицата по-долу.
Забележка: 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
документ за самоличност | Име на продукта | Количество |
---|---|---|
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;
След изпълнение на заявката, тя създава таблицата по-долу.
ПРИСЪЕДИНЕТЕ СЕ САМО
Това е 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;>