Підзапити SQL

Примітка.: Ми хочемо надавати найновіший вміст довідки рідною мовою користувачів якомога швидше. Цю сторінку перекладено за допомогою засобу автоматичного перекладу, тому вона може містити смислові, синтаксичні або граматичні помилки. Ми вважаємо, що цей вміст стане вам у пригоді. Повідомте нас, чи була інформація корисною, унизу цієї сторінки. Для зручності цю статтю можна переглянути англійською мовою.

Підзапиту буде вкладено в інші виберіть елемент, виберіть оператор SELECT... ВСТАВЛЕННЯ,... Оператор INTO, видалення або оновлення або в іншому підзапиту.

Синтаксис

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

порівняння [БУДЬ-ЯКИЙ | УСІ | Деякі] (sqlstatement)

вираз [НЕ] У (sqlstatement)

[НЕ] Існує (sqlstatement)

Підзапиту складається з таких частин:

Частина

Опис

порівняння

На вираз і оператор порівняння, яка відрізняється від виразом результати підзапиту.

вираз

Вираз, для якого підзапиту, набір результатів пошуку.

sqlstatement

Оператор SELECT, наступні правила та той же формат як будь-які інші оператор SELECT. Потрібно взяти в дужки.


Примітки

За допомогою підзапиту замість вираз у списку поля виберіть оператор або де або речення HAVING. У підзапиту використовується оператор для забезпечення набір один або кілька певних обчислюваних значень у ДІАПАЗОНІ або ВИНИКАЮТЬ речення вираз.

За допомогою будь-якого або деяких присудком, які є синонімом для отримання записів основні запитів, які задовольняють порівняння з будь-які записи, отримані у підзапиту. Наведений нижче приклад повертає всі продукти, Ціна за одиницю більше, ніж будь-який продукт проданих зі знижкою 25% або більше:

SELECT * FROM Products WHERE UnitPrice > ANY (SELECT UnitPrice FROM OrderDetails WHERE Discount >= .25);

Виконайте всі присудком, щоб отримати тільки ці записи в головному запит задовольнити порівняння з всі записи, отримані у підзапиту. Якщо ви змінили будь-які всім у попередньому прикладі, запит поверне лише ті продукти, Ціна за одиницю більше, ніж всіх товарів зі знижкою 25% або більше. Це значно більше обмежень.

Використати в присудком, щоб отримати лише ті записи головного запит, для яких деякі запису в підзапиту містить значення дорівнює. У наведеному нижче прикладі повертається всіх продуктів зі знижкою 25% або більше:

SELECT * FROM Products WHERE ProductID IN (SELECT ProductID FROM OrderDetails WHERE Discount >= .25);

І навпаки, можна використовувати в не отримувати лише ті записи в головному запитів, для яких немає записів у підзапиту містить значення дорівнює.

Використання існує присудком (з необов'язково не Зарезервовані слова) порівняння логічне значення true або false, щоб визначити, чи підзапиту повертає всі записи.

Також можна використовувати псевдоніми ім'я таблиці в підзапиту звернутися до таблиці, відображені в реченні FROM за межами підзапиту. Наведений нижче приклад повертає імена працівників, чиє заробітної плати є дорівнює або більше середнього заробітної плати всіх співробітників того ж посада. Таблиця співробітники надається псевдонім "T1":

SELECT LastName, FirstName, Title, Salary FROM Employees AS T1 WHERE Salary >= (SELECT Avg(Salary) FROM Employees WHERE T1.Title = Employees.Title) Order by Title;

У попередньому прикладі як зарезервоване слово не є обов'язковим.

Деякі підзапити дозволено перехресні запити, зокрема від того, як предикати (ті в реченні WHERE). Підзапити вигляді (профілі користувачів у списку виберіть) у перехресні запити заборонено.



Удосконалення навичок роботи з Office
Ознайомтеся з навчальними матеріалами
Отримуйте нові функції раніше за інших
Приєднайтеся до оцінювачів Office

Ця інформація корисна?

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

Дякуємо за відгук! Схоже, вам може стати в нагоді допомога одного з наших спеціалістів служби підтримки Office, з яким ми вас можемо з’єднати.

×