Поиск…


подзапросов

Подзапрос - это запрос в другом SQL-запросе. Подзапрос также называется внутренним запросом или внутренним выбором, а оператор, содержащий подзапрос, называется внешним запросом или внешним выбором.

Заметка

  1. Подзапросы должны быть заключены в круглые скобки,
  2. ORDER BY нельзя использовать в подзапросе.
  3. Тип изображения, такой как BLOB, массив, текстовые типы данных, не разрешен в подзапросах.

Подзапросы могут использоваться с оператором select, insert, update и delete, в котором, from, select, а также IN, операторы сравнения и т. Д.

У нас есть таблица с именем ITCompanyInNepal, на которой мы будем выполнять запросы, чтобы показать примеры подзапросов:

введите описание изображения здесь

Примеры: SubQueries с инструкцией Select

с оператором In и где :

SELECT *
FROM ITCompanyInNepal
WHERE Headquarter IN (SELECT Headquarter 
                      FROM ITCompanyInNepal
                      WHERE Headquarter = 'USA');

с оператором сравнения и где условие

SELECT *
FROM ITCompanyInNepal
WHERE NumberOfEmployee < (SELECT AVG(NumberOfEmployee) 
                          FROM ITCompanyInNepal
                      )

с предложением select

SELECT   CompanyName,
         CompanyAddress,
         Headquarter,
         (Select SUM(NumberOfEmployee)
         FROM ITCompanyInNepal
         Where Headquarter = 'USA') AS TotalEmployeeHiredByUSAInKathmandu
FROM     ITCompanyInNepal 
WHERE    CompanyAddress = 'Kathmandu' AND Headquarter = 'USA'

Подзапросы со вставкой

Нам нужно вставить данные из таблицы IndianCompany в ITCompanyInNepal. Таблица для IndianCompany приведена ниже:

введите описание изображения здесь

INSERT INTO ITCompanyInNepal
SELECT * 
FROM IndianCompany

Подзапросы с оператором обновления

Предположим, что все компании, штаб-квартира которых находится в США, решили уволить 50 сотрудников из всех американских компаний в Непале из-за некоторых изменений в политике компаний США.

UPDATE ITCompanyInNepal
SET NumberOfEmployee = NumberOfEmployee - 50
WHERE Headquarter IN (SELECT Headquarter 
                      FROM ITCompanyInNepal 
                      WHERE Headquarter = 'USA')

Подзапросы с инструкцией Delete

Предположим, что все компании, штаб-квартира которых является Данией, решили закрыть свои компании из Непала.

DELETE FROM ITCompanyInNepal
WHERE Headquarter IN (SELECT Headquarter 
                     FROM ITCompanyInNepal
                     WHERE Headquarter = 'Denmark')


Modified text is an extract of the original Stack Overflow Documentation
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow