Microsoft SQL Server
delfrågor
Sök…
delfrågor
En undersökning är en fråga i en annan SQL-fråga. En underfråga kallas också inre fråga eller inre markering och uttalandet som innehåller en underkurs kallas en yttre fråga eller yttre markering.
Notera
- Underfrågor måste bifogas inom parentes,
- En ORDER BY kan inte användas i en undersökning.
- Bildtypen som BLOB, matris, textdatatyper är inte tillåtna i undersökningar.
Underfrågor kan användas med att välja, infoga, uppdatera och ta bort uttalanden inom varifrån, välj klausul tillsammans med IN, jämföringsoperatörer, etc.
Vi har en tabell med namnet ITCompanyInNepal där vi kommer att utföra frågor för att visa exempel på underfrågor:
Exempel: SubQueries With Select Statement
med In- operatör och där klausul:
SELECT *
FROM ITCompanyInNepal
WHERE Headquarter IN (SELECT Headquarter
FROM ITCompanyInNepal
WHERE Headquarter = 'USA');
med jämförelseoperatör och var klausul
SELECT *
FROM ITCompanyInNepal
WHERE NumberOfEmployee < (SELECT AVG(NumberOfEmployee)
FROM ITCompanyInNepal
)
med välj klausul
SELECT CompanyName,
CompanyAddress,
Headquarter,
(Select SUM(NumberOfEmployee)
FROM ITCompanyInNepal
Where Headquarter = 'USA') AS TotalEmployeeHiredByUSAInKathmandu
FROM ITCompanyInNepal
WHERE CompanyAddress = 'Kathmandu' AND Headquarter = 'USA'
Underfrågor med infoga uttalande
Vi måste infoga data från IndianCompany-tabellen till ITCompanyInNepal. Tabellen för IndianCompany visas nedan:
INSERT INTO ITCompanyInNepal
SELECT *
FROM IndianCompany
Underfrågor med uppdateringsförklaring
Anta att alla företag vars huvudkontor är USA beslutade att skjuta upp 50 anställda från alla USA-baserade företag i Nepal på grund av en viss förändring i de amerikanska företagens politik.
UPDATE ITCompanyInNepal
SET NumberOfEmployee = NumberOfEmployee - 50
WHERE Headquarter IN (SELECT Headquarter
FROM ITCompanyInNepal
WHERE Headquarter = 'USA')
Underfrågor med raderingsdeklaration
Anta att alla företag vars huvudkontor är Danmark beslutade att stänga av sina företag från Nepal.
DELETE FROM ITCompanyInNepal
WHERE Headquarter IN (SELECT Headquarter
FROM ITCompanyInNepal
WHERE Headquarter = 'Denmark')