НАЙКРАЩИЙ САЙТ ДЛЯ ВЕБ-РОЗРОБНИКІВ

SQL Підручник

SQL СТАРТ SQL Інтро SQL Синтаксис SQL SELECT SQL SELECT DISTINCT SQL WHERE SQL ORDER BY SQL AND SQL OR SQL NOT SQL INSERT INTO SQL NULL SQL UPDATE SQL DELETE SQL SELECT TOP SQL MIN() and MAX() SQL COUNT() SQL SUM() SQL AVG() SQL LIKE SQL Підстановочні символи SQL IN SQL BETWEEN SQL Псевдоніми SQL JOIN SQL INNER JOIN SQL LEFT JOIN SQL RIGHT JOIN SQL FULL OUTER JOIN SQL Self JOIN SQL UNION SQL GROUP BY SQL HAVING SQL EXISTS SQL ANY, ALL SQL SELECT INTO SQL INSERT INTO SELECT SQL CASE SQL NULL Функції SQL Зберігаючи процедури SQL Коментарі SQL Оператори

SQL База даних

SQL Create DB SQL Drop DB SQL Backup DB SQL Create Table SQL Drop Table SQL Alter Table SQL Constraints SQL Not Null SQL Unique SQL Primary Key SQL Foreign Key SQL Check SQL Default SQL Index SQL Auto Increment SQL Dates SQL Views SQL Injection SQL Hosting SQL Типи даних

SQL Довідники

SQL Ключові слова MySQL Функції SQL Серверні функції MS Access Функції SQL Швидкий довідник

SQL Приклади

SQL Приклади SQL Редактор SQL Вікторина SQL Вправи SQL Bootcamp SQL Сертифікат

SQL. W3Schools українською. Уроки для початківців

En

SQL Пропозиція JOIN


SQL JOIN

Пропозиція JOIN використовується для об’єднання рядків із двох або більше таблиць на основі зв’язаного стовпця між ними.

Подивимося на вибір із таблиці "Orders" ("Замовлення"):

OrderIDCustomerIDOrderDate
1030821996-09-18
10309371996-09-19
10310771996-09-20

Потім перегляньте вибір із таблиці "Customers" ("Клієнти"):

CustomerIDCustomerNameContactNameCountry
1Alfreds FutterkisteMaria AndersGermany
2Ana Trujillo Emparedados y heladosAna TrujilloMexico
3Antonio Moreno TaqueríaAntonio MorenoMexico

Зауважте, що стовпець "CustomerID" у таблиці "Orders" відноситься до "CustomerID" у таблиці "Customers". Зв’язок між двома таблицями вище – це стовпець "CustomerID".

Тоді ми можемо створити таку SQL-інструкцію (що містить INNER JOIN), яка вибирає записи, що мають відповідні значення в обох таблицях:

Приклад

SELECT Orders.OrderID, Customers.CustomerName, Orders.OrderDate
FROM Orders
INNER JOIN Customers ON Orders.CustomerID=Customers.CustomerID;
Спрорбуйте самі »

і це дасть щось подібне:

OrderIDCustomerNameOrderDate
10308Ana Trujillo Emparedados y helados9/18/1996
10365Antonio Moreno Taquería11/27/1996
10383Around the Horn12/16/1996
10355Around the Horn11/15/1996
10278Berglunds snabbköp8/12/1996

Різні типи SQL JOIN

Ось різні типи JOIN у SQL:

  • (INNER) JOIN: Повертає записи, які мають відповідні значення в обох таблицях
  • LEFT (OUTER) JOIN: Повертає всі записи з лівої таблиці та відповідні записи з правої таблиці
  • RIGHT (OUTER) JOIN: Повертає всі записи з правої таблиці та відповідні записи з лівої таблиці
  • FULL (OUTER) JOIN: Повертає всі записи, якщо є відповідність у лівій або правій таблиці

SQL INNER JOIN  SQL LEFT JOIN  SQL RIGHT JOIN  SQL FULL OUTER JOIN


Перевірте себе за допомогою вправ

Вправа:

Вставте частини, яких бракує, у пункт JOIN, щоб об’єднати дві таблиці Orders і Customers, використовуючи поле CustomerID в обох таблицях як зв’язок між двома таблицями.

SELECT *
FROM Orders
LEFT JOIN Customers
=
;