Szukaj…


Podzapytania

Podkwerenda jest zapytaniem w ramach innego zapytania SQL. Podzapytanie jest również nazywane zapytaniem wewnętrznym lub wewnętrznym wyborem, a instrukcja zawierająca podzapytanie nazywane jest zewnętrznym zapytaniem lub zewnętrznym wyborem.

Uwaga

  1. Podzapytania muszą być zawarte w nawiasach,
  2. ORDER BY nie może być użyty w podzapytaniu.
  3. Typ obrazu, taki jak BLOB, tablica, typy danych tekstowych nie są dozwolone w podkwerendach.

Podzapytania mogą być używane z instrukcją select, insert, update i delete w obrębie skąd, klauzula select wraz z IN, operatory porównania itp.

Mamy tabelę o nazwie ITCompanyInNepal, na której będziemy wykonywać zapytania w celu wyświetlenia przykładów podkwerend:

wprowadź opis zdjęcia tutaj

Przykłady: zapytania podrzędne z instrukcją Select

z operatorem In i gdzie klauzula:

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

z operatorem porównania i klauzula where

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

z klauzulą select

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

Podkwerendy z instrukcją wstawiania

Musimy wstawić dane z tabeli IndianCompany do ITCompanyInNepal. Tabela dla IndianCompany jest pokazana poniżej:

wprowadź opis zdjęcia tutaj

INSERT INTO ITCompanyInNepal
SELECT * 
FROM IndianCompany

Podkwerendy z instrukcją aktualizacji

Załóżmy, że wszystkie firmy, których główną siedzibą są USA, postanowiły zwolnić 50 pracowników ze wszystkich firm z Nepalu z siedzibą w USA z powodu pewnych zmian w polityce amerykańskich firm.

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

Podkwerendy z instrukcją usuwania

Załóżmy, że wszystkie firmy, których główną siedzibą jest Dania, postanowiły zamknąć swoje firmy z Nepalu.

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


Modified text is an extract of the original Stack Overflow Documentation
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow