Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Вивчайте Оператор UNION | Вкладені підзапити
Проміжний SQL

Оператор UNION

Свайпніть щоб показати меню

Ви привернули увагу клієнта, якому потрібні SQL-запити. Перш ніж перейти до JOINs, ви ознайомитеся з оператором UNION, який є важливим для об'єднання кількох таблиць.

Note
Визначення

UNION у SQL використовується для об'єднання результатів двох або більше запитів SELECT в один підсумковий набір. Дозволяє об'єднувати рядки з кількох запитів у єдиний результат даних.

Ось кілька важливих аспектів використання UNION:

  1. Кількість і порядок стовпців: усі запити, які об'єднуються за допомогою UNION, повинні мати однакову кількість стовпців у такому ж порядку;

  2. Типи даних: стовпці в кожному запиті повинні мати сумісні типи даних;

  3. Унікальні рядки: за замовчуванням UNION видаляє дублікати рядків. Використовуйте UNION ALL, якщо потрібно зберегти дублікати.

Для кращого розуміння правильного об'єднання таблиць за допомогою оператора UNION додано додаткову таблицю, яка містить інформацію про contractors.

Тут небагато інформації: лише first_name, last_name та email.

Видно, що ця таблиця має схожість із таблицею employees. За допомогою оператора UNION можна об'єднати ці дві таблиці, щоб, наприклад, переглянути список усіх імен та прізвищ співробітників і підрядників, залучених до компанії.

Для цього використовується оператор UNION:

12345678
(SELECT employee_id as id, first_name, last_name FROM employees) UNION (SELECT contractor_id as id, first_name, last_name FROM contractors) ORDER BY id

Тут є два запити, кожен з яких повертає три стовпці з однаковими типами даних. Мета — перегляд Id, first_name та last_name усіх співробітників компанії. Стовпець Id також перейменовано, щоб обидва запити мали однакові назви стовпців.

UNION об'єднує результати цих запитів, видаляючи дублікати (хоча тут їх немає).

Результати впорядковано за Id за допомогою ORDER BY.

Note
Примітка

Результати впорядковано за Id, який є спільним стовпцем в обох таблицях.

Після використання UNION утворюється "єдиний великий запит", який можна додатково обробляти за допомогою таких операторів, як ORDER BY.

Неможливо безпосередньо використовувати WHERE або GROUP BY з таблицями, об'єднаними за допомогою UNION. Щоб застосувати ці оператори, потрібно використати підзапит у секції FROM. Ось приклад, як це зробити:

123456789
SELECT id, first_name, last_name FROM ( SELECT employee_id AS id, first_name, last_name FROM employees UNION SELECT contractor_id AS id, first_name, last_name FROM contractors ) AS combined WHERE first_name = 'Jane'

Використання підзапиту в секції FROM надає більше гнучкості! Спочатку це може здатися складним, але опанування цього значно полегшить написання складних запитів.

1. Які вимоги повинні виконуватися для об'єднання результатів за допомогою UNION?

2. Як оператор UNION за замовчуванням обробляє дублікати рядків?

question mark

Які вимоги повинні виконуватися для об'єднання результатів за допомогою UNION?

Виберіть правильну відповідь

question mark

Як оператор UNION за замовчуванням обробляє дублікати рядків?

Виберіть правильну відповідь

Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

Секція 2. Розділ 5

Запитати АІ

expand

Запитати АІ

ChatGPT

Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат

Оператор UNION

Ви привернули увагу клієнта, якому потрібні SQL-запити. Перш ніж перейти до JOINs, ви ознайомитеся з оператором UNION, який є важливим для об'єднання кількох таблиць.

Note
Визначення

UNION у SQL використовується для об'єднання результатів двох або більше запитів SELECT в один підсумковий набір. Дозволяє об'єднувати рядки з кількох запитів у єдиний результат даних.

Ось кілька важливих аспектів використання UNION:

  1. Кількість і порядок стовпців: усі запити, які об'єднуються за допомогою UNION, повинні мати однакову кількість стовпців у такому ж порядку;

  2. Типи даних: стовпці в кожному запиті повинні мати сумісні типи даних;

  3. Унікальні рядки: за замовчуванням UNION видаляє дублікати рядків. Використовуйте UNION ALL, якщо потрібно зберегти дублікати.

Для кращого розуміння правильного об'єднання таблиць за допомогою оператора UNION додано додаткову таблицю, яка містить інформацію про contractors.

Тут небагато інформації: лише first_name, last_name та email.

Видно, що ця таблиця має схожість із таблицею employees. За допомогою оператора UNION можна об'єднати ці дві таблиці, щоб, наприклад, переглянути список усіх імен та прізвищ співробітників і підрядників, залучених до компанії.

Для цього використовується оператор UNION:

12345678
(SELECT employee_id as id, first_name, last_name FROM employees) UNION (SELECT contractor_id as id, first_name, last_name FROM contractors) ORDER BY id

Тут є два запити, кожен з яких повертає три стовпці з однаковими типами даних. Мета — перегляд Id, first_name та last_name усіх співробітників компанії. Стовпець Id також перейменовано, щоб обидва запити мали однакові назви стовпців.

UNION об'єднує результати цих запитів, видаляючи дублікати (хоча тут їх немає).

Результати впорядковано за Id за допомогою ORDER BY.

Note
Примітка

Результати впорядковано за Id, який є спільним стовпцем в обох таблицях.

Після використання UNION утворюється "єдиний великий запит", який можна додатково обробляти за допомогою таких операторів, як ORDER BY.

Неможливо безпосередньо використовувати WHERE або GROUP BY з таблицями, об'єднаними за допомогою UNION. Щоб застосувати ці оператори, потрібно використати підзапит у секції FROM. Ось приклад, як це зробити:

123456789
SELECT id, first_name, last_name FROM ( SELECT employee_id AS id, first_name, last_name FROM employees UNION SELECT contractor_id AS id, first_name, last_name FROM contractors ) AS combined WHERE first_name = 'Jane'

Використання підзапиту в секції FROM надає більше гнучкості! Спочатку це може здатися складним, але опанування цього значно полегшить написання складних запитів.

Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

Секція 2. Розділ 5
some-alt