Запропонувати правкуПокращити цю статтюДопрацюйте відповідь до «Де можна використовувати підзапити?». Ваші зміни проходять модерацію перед публікацією.Потрібне підтвердженняКонтентЩо ви змінюєте🇺🇸EN🇺🇦UAПереглядЗаголовок (UA)Коротка відповідь (UA)Підзапити в SQL можна використовувати в кількох місцях основного запиту: у `WHERE` (для фільтрації за результатом іншого запиту), у `FROM` (як тимчасова таблиця), у `SELECT` (для обчислення значення прямо в списку колонок) і в `HAVING` (для фільтрації груп після агрегатних функцій). **Ключове:** підзапити можна вставляти скрізь, де SQL дозволяє вираз, щоб динамічно отримувати дані для фільтрації, обчислень чи агрегування.Показується над повною відповіддю для швидкого нагадування.Відповідь (UA)ЗображенняПідзапити в SQL можна використовувати в **кількох місцях** усередині основного запиту: ### 1. У `WHERE` - Для фільтрації записів на основі результатів іншого запиту. **Приклад:** ```sql SELECT Ім'я, Вік FROM Співробітники WHERE ВідділID = (SELECT ID FROM Відділи WHERE Назва = 'Продажі'); ``` ### 2. У `FROM` - Підзапит створює **тимчасову таблицю**, з якою потім можна працювати. **Приклад:** ```sql SELECT AVG(Вік) AS СереднійВік FROM (SELECT Вік FROM Співробітники WHERE ВідділID = 101) AS Підтаблиця; ``` ### 3. У `SELECT` - Для обчислення значення прямо в списку обраних колонок. **Приклад:** ```sql SELECT Ім'я, (SELECT Назва FROM Відділи WHERE Відділи.ID = Співробітники.ВідділID) AS Відділ FROM Співробітники; ``` ### 4. У `HAVING` - Для фільтрації груп після агрегатних функцій. **Приклад:** ```sql SELECT ВідділID, COUNT(*) AS КількістьСпівробітників FROM Співробітники GROUP BY ВідділID HAVING COUNT(*) > (SELECT AVG(КількістьСпівробітників) FROM Співробітники GROUP BY ВідділID); ``` > Простіше кажучи, підзапити можна використовувати **скрізь, де SQL дозволяє вставити вираз**, щоб динамічно отримувати дані для фільтрації, обчислень чи агрегування.Для рев’юераПримітка для модератора (необов’язково)Бачить лише модератор. Прискорює рев’ю.