Microsoft SQL Server
Podzapytania
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
- Podzapytania muszą być zawarte w nawiasach,
- ORDER BY nie może być użyty w podzapytaniu.
- 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:
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:
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')