PostgreSQL: Bruke hvor eksisterer klausul
Når en hvilken. Den kompliserte spørringen kan skrives enkelt ved å dele en stor spørring i flere underlag. Eksisterer klausul brukes med en undervisning i en SQL -uttalelse. Utgangen fra eksisterer avhenger av antall poster som er returnert av subquery, men avhenger ikke av verdiene til postene. Resultatet av eksisterer vil være sant hvis den tilknyttede subquery returnerer minst en rad. Hvordan du kan bruke eksisterer og ikke eksisterer klausul i Select, Sett inn, oppdatering og slett uttalelser vises i denne opplæringen ved hjelp av forskjellige eksempler.
Eksisterer klausul syntaks:
Velg Col1, Col2, Col3 ..Lag tre tabeller som heter selskap, varer og Kunder og sett inn noen data. Kjør følgende velg spørring for å vise innholdet i disse tabellene.
Velg * fra selskapet;Eksempel-1: Å bruke eksisterer klausul i valgt spørring
(a) eksisterer
Følgende spørsmål vil hente poster fra gjenstander Tabell basert på selskap bord. Subquery søker i alle poster fra selskap bord hvor Bedrifts-ID av selskap Tabellen er lik Bedrifts-ID av gjenstander tabell og verdien av Telefon Feltet er ikke tomt. Det er en rekord i selskap tabell som ikke har telefonnummer, og denne posten vil bli utelatt fra utgangen.
Velg item_id, navn, mengdeProduksjon:
Registreringen av LG har ingen telefonoppføring i firmababellen. Så det vises ikke i utgangen.
(b) eksisterer ikke
Ikke eksisterer klausul er motsatt av eksisterer klausul. Følgende spørsmål vil hente disse postene fra gjenstander Tabell når subquery returnerer falsk.
Velg item_id, navn, mengdeProduksjon:
Det er ingen registrering i selskap bord hvor nettadresse er null. Så utgangen av subquery er falsk for alle poster, og alle poster over varetabellen blir hentet.
Eksempel-2: Å bruke eksisterer klausul i Sett inn spørsmål
I henhold til følgende innsettingsspørsmål vil dataene bli satt inn i gjenstander bord når Bedrifts-ID av begge selskap og Kunder Tabellene er like.
Sett inn gjenstanderProduksjon:
Det er tre oppføringer for Bedrifts-ID i kunder tabell med verdier er 1 og 2. Så subquery vil komme tilbake for tre ganger og tre poster vil bli satt inn.
Kjør Select Query for å sjekke innholdet i tabellen til elementene.
Eksempel-3: Å bruke eksisterer klausul i oppdateringsspørsmål
Følgende spørsmål vil oppdatere postene til gjenstander bord hvor Bedrifts-ID er 1 og subquery returnerer sann.
Oppdater elementerProduksjon:
Her vil underspringer komme tilbake i tre ganger og Bedrifts-ID er 1 for tre poster. Tre poster vil bli oppdatert etter å ha utført oppdateringsspørsmålet.
Kjør Select Query for å sjekke innholdet i tabellen til elementene.
Eksempel-4: Å bruke eksisterer klausul i Delete Query
Følgende spørring vil slette disse postene over gjenstander bord hvor Bedrifts-ID er 1 og subquery returnerer sann.
Slett fra elementerProduksjon:
Det er tre poster med verdi 1 av Bedrifts-ID og en post har navneverdi 'Ikke tilordne'. Så vil tilstanden sant i tre ganger og slette tre poster fra gjenstander bord.
Kjør Select Query for å sjekke innholdet i tabellen til elementene.
Håper, du har fått en klar ide om å bruke eksisterer klausul i SQL -spørringen etter å ha lest denne opplæringen.