Microsoft SQL Server
Subzoekopdrachten
Zoeken…
Subzoekopdrachten
Een subquery is een query binnen een andere SQL-query. Een subquery wordt ook binnenquery of inner select genoemd en de instructie die een subquery bevat, wordt een buitenquery of outer select genoemd.
Notitie
- Subquery's moeten tussen haakjes worden geplaatst,
- Een ORDER BY kan niet worden gebruikt in een subquery.
- Het afbeeldingstype zoals BLOB, array, tekstdatatypes zijn niet toegestaan in subquery's.
Subquery's kunnen worden gebruikt met select-, insert-, update- en delete-statement waarbinnen, van, selecteer clausule samen met IN, vergelijkingsoperatoren, etc.
We hebben een tabel met de naam ITCompanyInNepal waarop we query's uitvoeren om voorbeelden van subquery's te tonen:
Voorbeelden: SubQueries With Select Statement
met operator In en waar clausule:
SELECT *
FROM ITCompanyInNepal
WHERE Headquarter IN (SELECT Headquarter
FROM ITCompanyInNepal
WHERE Headquarter = 'USA');
met vergelijkingsoperator en waar clausule
SELECT *
FROM ITCompanyInNepal
WHERE NumberOfEmployee < (SELECT AVG(NumberOfEmployee)
FROM ITCompanyInNepal
)
met select clausule
SELECT CompanyName,
CompanyAddress,
Headquarter,
(Select SUM(NumberOfEmployee)
FROM ITCompanyInNepal
Where Headquarter = 'USA') AS TotalEmployeeHiredByUSAInKathmandu
FROM ITCompanyInNepal
WHERE CompanyAddress = 'Kathmandu' AND Headquarter = 'USA'
Subquery's met invoeginstructie
We moeten gegevens uit de IndianCompany-tabel invoegen in ITCompanyInNepal. De tabel voor IndianCompany wordt hieronder weergegeven:
INSERT INTO ITCompanyInNepal
SELECT *
FROM IndianCompany
Subquery's met update-instructie
Stel dat alle bedrijven met het hoofdkantoor in de VS hebben besloten om 50 werknemers van alle in de VS gevestigde bedrijven in Nepal te ontslaan vanwege een wijziging in het beleid van Amerikaanse bedrijven.
UPDATE ITCompanyInNepal
SET NumberOfEmployee = NumberOfEmployee - 50
WHERE Headquarter IN (SELECT Headquarter
FROM ITCompanyInNepal
WHERE Headquarter = 'USA')
Subquery's met verwijderinstructie
Stel dat alle bedrijven met het hoofdkantoor in Denemarken hebben besloten hun bedrijven uit Nepal te sluiten.
DELETE FROM ITCompanyInNepal
WHERE Headquarter IN (SELECT Headquarter
FROM ITCompanyInNepal
WHERE Headquarter = 'Denmark')