En subquery eller Indre spørring eller Nøstet spørring er en spørring i en annen PostgreSQL spørring og integrert i WHERE-leddet 
 
 er en delspørring brukes til å returnere data som vil bli brukt i hovedspørringen som en betingelse for ytterligere å begrense dataene som skal hentes 
 
 subqueries kan brukes med SELECT, INSERT, UPDATE og DELETE-setninger sammen med operatørene som =, <, >, >. =, < =, IN, etc. 
 
 Det er noen regler som subqueries må følge. 
 
 
 subqueries må vedlegges i parentes 
 
 
 En subquery kan bare ha én kolonne i SELECT-leddet, med mindre flere kolonner er i hovedspørringen for subquery å sammenligne sine utvalgte kolonner. 
 
 
 En ORDER BY kan ikke brukes i en delspørring, selv om hovedspørringen kan bruke en ORDER BY. GROUP BY kan brukes til å utføre samme funksjon som ORDER BY i en subquery. 
 
 subqueries som returnerer mer enn én rad kan bare brukes med flere verdi operatører, som for eksempel IN, eksisterer, ikke i, NOE /NOEN, ALL operatør 
 
 
 MELLOM Operatøren kan ikke brukes med en delspørring.; imidlertid MELLOM kan brukes innenfor subquery 
 
 delspørringer med SELECT erklæringen. 
 
 subqueries er mest brukt med SELECT-setningen. Den grunnleggende syntaks er som følger: 
 VELG Kolonnen [, kolonne] Fra table1 [, table2] HVOR kolonne OPERATØR (VELG kolonne [, kolonne] Fra table1 [, table2] [Hvor]) 
 Eksempel: 
 
 Tenk COMPANY bordet er å ha følgende poster: 
 id | Navn | alder | adressere | lønn ---- + ------- + ----- + ----------- + -------- 1 | Paul | 32 | California | 20000 2 | Allen | 25 | Texas | 15000 3 | Teddy | 23 | Norge | 20000 4 | Mark | 25 | Rich-Mond | 65000 5 | David | 27 | Texas | 85000 6 | Kim | 22 | Sør-Hall | 45000 7 | James | 24 | Houston | 10000 (7 p) 
 Nå, la oss sjekke følgende sub-spørring med SELECT-setning: 
 testdb = # SELECT * FROM selskap hvor ID IN (SELECT ID FRA selskap hvor LØNN > 45000); 
 Dette ville produsere følgende resultat: 
 id | Navn | alder | adressere | lønn ---- + ------- + ----- + ------------- + -------- 4 | Mark | 25 | Rich-Mond | 65000 5 | David | 27 | Texas | 85000 (2 p) 
 delspørringer med INSERT-setningen: 
 
 subqueries også kan brukes med INSERT-setninger. INSERT-setningen bruker dataene som returneres fra subquery å sette inn i en annen tabell. De utvalgte data i subquery kan endres med noen av karakter, dato eller antall funksjoner 
 
 Den grunnleggende syntaks er som følger:. 
 INSERT INTO table_name [(COLUMN1 [, COLUMN2])] SELECT [* | COLUMN1 [, COLUMN2] Fra table1 [, table2] [HVOR VERDI OPERATØR] 
 Eksempel: 
 
 Tenk et bord COMPANY_BKP med lignende struktur som COMPANY bord og kan bli laget med samme CREATE TABLE hjelp COMPANY_BKP som tabellnavn. Nå å kopiere komplett COMPANY bord i COMPANY_BKP, er syntaksen: 
 testdb = # INSERT INTO COMPANY_BKP SELECT * FROM selskap hvor ID IN (SELECT ID fra bedrift); 
 delspørringer med oppdateringen Statement: 
 < p> subquery kan brukes i forbindelse med oppdateringen uttalelse. Enten én eller flere kolonner i en tabell kan oppdateres når du bruker en delspørring med UPDATE statement 
 
 Den grunnleggende syntaks er som følger:. 
 UPDATE tableSET kolonne = new_value [HVOR OPERATØR [value] (VELG COLUMN_NAME Fra TABLE_NAME) [HVOR)] 
 Eksempel: 
 
 Forutsatt, har vi COMPANY_BKP bord tilgjengelig som er backup av COMPANY tabellen 
 
 Følgende eksempel oppdateringer LØNN med 0,50 ganger i COMPANY bordet for alle. kundene, hvis alder er større enn eller lik 27: 
 testdb = # UPDATE selskapet satt LØNN = LØNN * 0,50 der alder IN (SELECT alder fra COMPANY_BKP der alder > = 27); 
 Dette vil påvirke to- rader og endelig COMPANY bord ville ha følgende poster: 
 id | Navn | alder | adressere | lønn ---- + ------- + ----- + ------------- + -------- 2 | Allen | 25 | Texas | 15000 3 | Teddy | 23 | Norge | 20000 4 | Mark | 25 | Rich-Mond | 65000 6 | Kim | 22 | Sør-Hall | 45000 7 | James | 24 | Houston | 10000 1 | Paul | 32 | California | 10000 5 | David | 27 | Texas | 42500 (7 p) 
 delspørringer med DELETE erklæringen. 
 
 subquery kan brukes i forbindelse med DELETE utsagn som med eventuelle andre uttalelser som er nevnt ovenfor 
 
 Den grunnleggende syntaks er som følger: 
 DELETE FROM TABLE_NAME [HVOR OPERATØR [value] (VELG COLUMN_NAME Fra TABLE_NAME) [HVOR)] 
 Eksempel:. 
 
 Forutsatt, har vi COMPANY_BKP bord tilgjengelig som er backup av COMPANY table 
 
 Etter eksempel sletter poster fra COMPANY bord for alle kunder, hvis alder er større enn eller lik 27: 
 testdb = # DELETE fra selskap der alder IN (SELECT alder fra COMPANY_BKP der alder> 27); 
 Dette vil påvirke to rader og endelig COMPANY bord ville ha følgende poster: 
 id | Navn | alder | adressere | lønn ---- + ------- + ----- + ------------- + -------- 2 | Allen | 25 | Texas | 15000 3 | Teddy | 23 | Norge | 20000 4 | Mark | 25 | Rich-Mond | 65000 6 | Kim | 22 | Sør-Hall | 45000 7 | James | 24 | Houston | 10000 5 | David | 27 | Texas | 42500 (6 p)

