En sub -query er en type SQL-sætning , der kører en forespørgsel inden for en forespørgsel. For eksempel løber du en sub- forespørgsel til at hente data fra en tabel, og derefter den vigtigste forespørgslen henter et endeligt resultat indstilles fra sub -query . Sub- forespørgsler anvendes i komplekse forespørgsler , hvor databasen administrator ønsker at forespørge fra flere tabeller og kan ikke bruge standard JOIN erklæring. Sub - Query Architecture
En sub -query er indeholdt i din primære forespørgsel. Typisk database administrator bruger JOIN erklæring til at slutte en anden tabel til din primære tabel. Hvis dette ikke er muligt , er sub -query bruges til at hente en liste over poster . Den sub- query udføres altid først, og hovedforespørgslen filtre ud af den sub -query . Du kan også få sub- forespørgsler inden for en sub- forespørgsel. Det inderste forespørgsel udføres altid først.
Oprettelse af en Sub - Query
sub- query er typisk en " select" forespørgsel. Når du opretter din database program , skal du først definere sub- query forretningsregler . For eksempel bruger følgende SQL-sætning til at returnere en liste over konti i et brugernavn tabel: select * from usernameThe tegnet "*" returnerer alle felter fra tabellen , så du kan bruge de vigtigste forespørgslen til at vise og filtrere de data, du brug for at se eller forarbejde . Du kan også filtrere poster i sub -query . For eksempel bruger følgende forespørgsel til kun at få brugerkonti , hvor brugernavnet har en første navnet " Jane " : select * from brugernavn hvor navn = ' Jane '
Tilsæt Main Query
Med definerede sub- forespørgsel, kan du oprette den primære forespørgsel. Når du bruger en forespørgsel som en sub- forespørgsel, du indeholder sub -query i parentes. For eksempel ved hjælp af kontonavn forespørgslen sub -query ser ud som følgende : ( vælg * fra username hvor navn = ' Jane ' ) For at føje forespørgslen til en vigtigste forespørgsel, skal du bruge følgende : insert into mennesker ( vælg * fra username hvor navn = ' Jane ' ) Denne erklæring kopier kontonavne fra brugernavnet bordet og indsætter dem i "folk "-tabellen .
IN Statement
"IN " erklæring bruger en sub- forespørgsel til at hente en liste over poster , der er " in" en anden tabel. For eksempel, hvis du ønsker at se en liste over folk med en ID på "1" placeret i en separat tabel brugernavne bruge følgende sætning : select * fra konti, hvor ID er ( vælg id fra username hvor ID = 1) denne erklæring får alle konti, som har et brugernavn med et ID på 1 . Disse komplekse forespørgsler bruges, når du har flere tabeller med lignende , sammenkædede data .