Velg * Hvor ikke eksisterer - mysql

Velg * Hvor ikke eksisterer - mysql
MySQL er et strukturert spørringsspråk som kan administrere og manipulere data lagret i databasetabeller. Mer spesifikt, EKSISTERER IKKE Operatør er en logisk operatør som brukes i HVOR Klausul for å hente dataene ved å ekskludere postene som samsvarer med en spesifisert betingelse. Kommandoen “Velg * Hvor ikke eksisterer”Inneholder“*,”Som betyr å velge alle kolonnene i en tabell og deretter bruke tilstanden som er til stede i WHERE -leddet.

Dette innlegget vil diskutere bruken av “Velg * Hvor ikke eksisterer”I mysql.

Hvordan du bruker "velg * hvor det ikke eksisterer" i mysql?

Før du bruker den aktuelle kommandoen, må du forstå dens forskjellige seksjoner først. I mysql:

  • PLUKKE UT”Uttalelse henter dataene
  • HVOR”Clause henter dataene som samsvarer med en viss tilstand
  • EKSISTERER IKKE”Operatør i WHERE -leddet vil ekskludere postene som samsvarer med en spesifikk tilstand

Syntaks

Å bruke "Velg * Hvor ikke eksisterer”, Følg den medfølgende syntaksen:

Velg * fra tabell1-navn der det ikke eksisterer
(Velg * fra tabell2-navn hvor tilstand);

*”Representerer alle kolonnene, og spørringen i parentesene er et undervisning på basene som data vil bli hentet fra tabell 1. Her er "Select * Where Not Exist" -spørsmålene fra den ene tabellen, basert på å ekskludere dataene som samsvarer med en viss "tilstand" fra den andre tabellen.

Metode 1: Hvordan bruke “Velg * der det ikke eksisterer” med en enkel subQuery?

La oss se et eksempel for å filtrere data fra “Produkt”Tabell ved å ekskludere poster basert på en betingelse som“Produkt ID" av "OrderItem”Tabellen er lik“Id" av "Produkt”Tabell, ved å kjøre en spørring:

Velg * fra produktet der det ikke eksisterer
(Velg * fra OrderItem hvor OrderItem.ProductID = Produkt.Id);

Utgangen viser posten som ikke oppfyller den spesifiserte tilstanden, da dataene er ekskludert med hell:

La oss se et annet eksempel for å hente ut poster fra "Leverandør”Bord der“Id”Av denne tabellen er ikke lik“Leverandørid" av "Produkt”Tabell:

Velg * fra leverandøren der det ikke eksisterer
(Velg * fra produktet der produktet.Leverandørid = leverandør.Id);

Metode 2: “Velg * Hvor ikke eksisterer” med logiske og relasjonelle operatører

Relasjonell, så vel som logiske operatører, kan brukes under forholdene med ikke eksisterer operatøren for å ekskludere dataene basert på flere forhold.

For eksempel er det påkrevd å hente posten til “Produkt”Tabell ved å ekskludere poster der“Id”Av denne tabellen er lik“Produkt ID" av "OrderItem”Tabell”OG”“Enhetspris" er lik "22”:

Velg * fra produktet der det ikke eksisterer
(Velg * fra OrderItem hvor OrderItem.ProductID = Produkt.Id og unitPrice = 22);

La oss se et annet eksempel hvis du vil trekke ut dataene til "Produkt”Tabell ved å ekskludere poster der“Id”Av denne tabellen er lik“Produkt ID" av "OrderItem”Bord og“Enhetspris" er mindre enn "6”:

Velg * fra produktet der det ikke eksisterer
(Velg * fra OrderItem
Hvor OrderItem.ProductID = Produkt.ID og UnitPrice < 6);

Utgangen vises, de ekstraherte postene etter å ha ekskludert postene som er spesifisert i betingelse:

Metode 3: Hvordan bruke “Velg * Hvor ikke eksisterer” med “Limit” -klausulen?

GRENSE”-Bestemmelsen kan brukes med“Velg * Hvor ikke eksisterer”Spørring for å spesifisere antall utganger for resultatet. For eksempel, hvis du bare vil trekke ut "7" rader fra tabellen "Produkt”Ved å ekskludere postene der“Id”Av denne tabellen er lik“Produkt ID”Av“OrderItem”Og“Enhetspris”Er mindre enn“ 6 ”:

Velg * fra produktet der det ikke eksisterer
(Velg * fra OrderItem hvor OrderItem.ProductID = Produkt.ID og UnitPrice < 6) limit 7;

I utgangen vil tabellen inneholde 7 rader med dataene etter å ha ekskludert postene i henhold til tilstanden.

Konklusjon

I mysql, "Velg * Hvor ikke eksisterer”Spørring trekker ut ikke-eksistensjournalene basert på den spesifiserte tilstanden. Videre kan de logiske og relasjonelle operatørene og begrensningsklausulen legges til den aktuelle spørringen. Denne artikkelen demonstrerte bruken av "Select * Where Not Exists" -spørsmålet i MySQL.