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

bookВкладені Запити

Адміністрація школи задоволена нашими останніми досягненнями та прагне рухатися вперед.

Починаючи свою літню відпустку, ми маємо можливість дослідити нові методи та вдосконалити свої навички SQL.

Наша увага буде зосереджена на вкладених запитах, ключовій концепції в SQL.

Note
Визначення

Вкладені запити, або вкладені підзапити, є невід’ємними складовими SQL, у яких один запит розміщується всередині іншого. Такі конструкції забезпечують виконання різноманітних операцій, таких як фільтрація даних, обчислення та отримання інформації, часто потребуючи інтеграції підзапитів.

Розглянемо приклад із нашої корпоративної бази даних. У міру зростання компанії ми додали нову таблицю department. Це змінює роботу нашої бази даних.

Переглянемо структуру нової таблиці, щоб зрозуміти її роль у нашій базі даних:

Нова таблиця містить відділи, їхні типи та бюджети. У таблиці employee, як ви пам'ятаєте, зберігається інформація про відділ, до якого належить кожен працівник.

Розглянемо приклад використання вкладених запитів для отримання тих працівників, які працюють у відділах з бюджетом $500,000 або менше:

1234567
SELECT * FROM employees WHERE department IN ( SELECT name FROM department WHERE budget <= 500000 )
copy

Ми використовуємо оператор WHERE, щоб вказати, що назва відділу повинна бути присутня у таблиці, яку повертає внутрішній запит.

Розгляньмо цей запит, розбивши його на два окремі для кращого розуміння. Спочатку отримаємо назви відділів з бюджетом $500 000 або менше (наш внутрішній запит):

123
SELECT name FROM department WHERE budget <= 500000
copy

Тепер, враховуючи отриманий результат, напишемо другий запит для отримання інформації про співробітників з цих відділів:

12345
SELECT * FROM employees WHERE department IN ( 'Marketing', 'Human Resources', 'Finance', 'Customer Service', 'Legal' )
copy

Результат цього запиту буде таким самим, як і у першому запиті.

Покроковий розбір:

  1. Внутрішній запит отримує names відділів, які потрібні;

  2. Умова WHERE перевіряє, чи ці відділи є у таблиці з внутрішнього запиту;

  3. Отримуємо потрібний результат.

Ось базовий синтаксис для внутрішнього запиту:

SELECT columns
FROM table_1
WHERE column_name IN (
  SELECT column
  FROM table_2
  other clauses
)

Під час використання вкладених запитів слід враховувати такі важливі моменти:

  1. Одиночний результат у підзапиті: переконайтеся, що вкладений запит повертає лише один стовпець. Якщо використовується у порівнянні, бажано, щоб він повертав одне значення. Це особливо важливо для операторів =, >, <, >=, <=, <>;

  2. Типи даних: тип даних повернутого стовпця повинен відповідати стовпцю, з яким відбувається порівняння, щоб уникнути помилок;

  3. Оптимізація: вкладені запити можуть працювати повільно, особливо якщо виконуються для кожного рядка основного запиту;

  4. Використання оператора IN: вкладені запити часто використовують оператор IN для перевірки значень у підмножині. Також можна використовувати оператори порівняння для складніших умов.

1. Що таке вкладений запит у SQL?

2. Який оператор SQL найчастіше використовується з вкладеними запитами для перевірки значень у підмножині?

3. Чому важливо, щоб тип даних стовпця, який повертає вкладений запит, збігався з типом стовпця, з яким його порівнюють?

question mark

Що таке вкладений запит у SQL?

Select the correct answer

question mark

Який оператор SQL найчастіше використовується з вкладеними запитами для перевірки значень у підмножині?

Select the correct answer

question mark

Чому важливо, щоб тип даних стовпця, який повертає вкладений запит, збігався з типом стовпця, з яким його порівнюють?

Select the correct answer

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

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

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

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

Запитати АІ

expand

Запитати АІ

ChatGPT

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

Suggested prompts:

Can you explain more about how nested queries work in SQL?

What are some common mistakes to avoid when using nested queries?

Can you show an example using a different operator instead of IN?

bookВкладені Запити

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

Адміністрація школи задоволена нашими останніми досягненнями та прагне рухатися вперед.

Починаючи свою літню відпустку, ми маємо можливість дослідити нові методи та вдосконалити свої навички SQL.

Наша увага буде зосереджена на вкладених запитах, ключовій концепції в SQL.

Note
Визначення

Вкладені запити, або вкладені підзапити, є невід’ємними складовими SQL, у яких один запит розміщується всередині іншого. Такі конструкції забезпечують виконання різноманітних операцій, таких як фільтрація даних, обчислення та отримання інформації, часто потребуючи інтеграції підзапитів.

Розглянемо приклад із нашої корпоративної бази даних. У міру зростання компанії ми додали нову таблицю department. Це змінює роботу нашої бази даних.

Переглянемо структуру нової таблиці, щоб зрозуміти її роль у нашій базі даних:

Нова таблиця містить відділи, їхні типи та бюджети. У таблиці employee, як ви пам'ятаєте, зберігається інформація про відділ, до якого належить кожен працівник.

Розглянемо приклад використання вкладених запитів для отримання тих працівників, які працюють у відділах з бюджетом $500,000 або менше:

1234567
SELECT * FROM employees WHERE department IN ( SELECT name FROM department WHERE budget <= 500000 )
copy

Ми використовуємо оператор WHERE, щоб вказати, що назва відділу повинна бути присутня у таблиці, яку повертає внутрішній запит.

Розгляньмо цей запит, розбивши його на два окремі для кращого розуміння. Спочатку отримаємо назви відділів з бюджетом $500 000 або менше (наш внутрішній запит):

123
SELECT name FROM department WHERE budget <= 500000
copy

Тепер, враховуючи отриманий результат, напишемо другий запит для отримання інформації про співробітників з цих відділів:

12345
SELECT * FROM employees WHERE department IN ( 'Marketing', 'Human Resources', 'Finance', 'Customer Service', 'Legal' )
copy

Результат цього запиту буде таким самим, як і у першому запиті.

Покроковий розбір:

  1. Внутрішній запит отримує names відділів, які потрібні;

  2. Умова WHERE перевіряє, чи ці відділи є у таблиці з внутрішнього запиту;

  3. Отримуємо потрібний результат.

Ось базовий синтаксис для внутрішнього запиту:

SELECT columns
FROM table_1
WHERE column_name IN (
  SELECT column
  FROM table_2
  other clauses
)

Під час використання вкладених запитів слід враховувати такі важливі моменти:

  1. Одиночний результат у підзапиті: переконайтеся, що вкладений запит повертає лише один стовпець. Якщо використовується у порівнянні, бажано, щоб він повертав одне значення. Це особливо важливо для операторів =, >, <, >=, <=, <>;

  2. Типи даних: тип даних повернутого стовпця повинен відповідати стовпцю, з яким відбувається порівняння, щоб уникнути помилок;

  3. Оптимізація: вкладені запити можуть працювати повільно, особливо якщо виконуються для кожного рядка основного запиту;

  4. Використання оператора IN: вкладені запити часто використовують оператор IN для перевірки значень у підмножині. Також можна використовувати оператори порівняння для складніших умов.

1. Що таке вкладений запит у SQL?

2. Який оператор SQL найчастіше використовується з вкладеними запитами для перевірки значень у підмножині?

3. Чому важливо, щоб тип даних стовпця, який повертає вкладений запит, збігався з типом стовпця, з яким його порівнюють?

question mark

Що таке вкладений запит у SQL?

Select the correct answer

question mark

Який оператор SQL найчастіше використовується з вкладеними запитами для перевірки значень у підмножині?

Select the correct answer

question mark

Чому важливо, щоб тип даних стовпця, який повертає вкладений запит, збігався з типом стовпця, з яким його порівнюють?

Select the correct answer

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

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

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

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