Velg * Hvor eksisterer - mysql

Velg * Hvor eksisterer - mysql
MySQL (velkjente RDBMS) kan lagre enorme databaser i databasene på en organisert måte. I denne databasen filtreres dataene ved å bruke forskjellige spørsmål. Mer spesifikt, "Velg * Hvor eksisterer”Er en vanlig spørring av MySQL som bruker“Eksisterer”Operatør. “EKSISTERE”Operatør returnerer utdataene fra tabellen bare hvis subquery returnerer en eller flere poster etter å ha sjekket en spesifikk tilstand.

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

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

La oss bryte ned syntaksen til “Velg * Hvor eksisterer” spørsmål:

Velg * hvorfra eksisterer
(Velg * fra hvor tilstand);

Her:

  • PLUKKE UT”Uttalelse brukes til å filtrere postene.
  • *”Er et jokertegn som representerer alle kolonnene.
  • HVOR”Clause henter dataene som oppfyller en spesifikk tilstand.
  • Eksisterer”Operatøren returnerer resultater hvis subquery returnerer en eller flere rader etter å ha sjekket en spesifisert betingelse.

Metode 1: Hvordan bruke “Velg * Where Exists” med en enkel underholdelse?

La oss se et eksempel for å filtrere data fra “Produkt”Tabell hvis subquery returnerer en eller flere enn ett poster ved å sjekke at“Produkt ID" fra "Rekkefølge”Tabellen er lik“Id" av "Produkt”Tabell, kjør denne spørringen:

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

Utgangen inneholder postene som oppfyller den spesifiserte tilstanden:

Metode 2: Hvordan bruke “Velg * Hvor eksisterer” med logisk operatør og relasjonsoperatør?

Med den eksisterer operatøren kan de logiske og relasjonelle operatørene, for eksempel "og", "eller", "=", "" spesifiseres i subsquyy.

For eksempel vil du hente ut data fra "Produkt”Tabell hvis subquery ikke returnerer et nullresultat etter å ha sjekket det for postene der“Id" av "Produkt”Tabellen er lik“Produkt ID" av "OrderItem”Tabell OG Enhetspris" er lik "22”:

Velg * fra produktet der det finnes
(Velg * fra OrderItem
Hvor OrderItem.ProductID = Produkt.Id og unitPrice = 22);

Utgangen vil inneholde de filtrerte postene:

La oss se et lignende eksempel, men i stedet for "UnitPrice = 22", skrive "Enhetspris < 6”:

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

Utgangen vil gi postene hentet fra spørringen:

Metode 3: Hvordan bruke “Velg * Where Exists” med “Limit” -klausulen?

Velg * Hvor eksisterer”Kan brukes med“GRENSE”Klausul, som definerer antall rader for resultatet.

For eksempel, hvis du bare vil trekke ut 4 rader av "Leverandør”Tabell, hvis“Id" av "Leverandør”Tabellen er lik“Leverandørid" av "Produkt”Tabell, bruk denne spørringen:

Velg * fra leverandøren der det finnes
(Velg * fra produktet der produktet.Leverandørid = leverandør.Id) grense 4;

Utgangen viser bare “4” rader, som definert per "grense" -bestemmelse:

Konklusjon

I mysql, "Velg * Hvor eksisterer”Spørring trekker ut postene hvis subquery returnerer ett eller mer enn ett resultat basert på den spesifiserte tilstanden. Tilstanden kan imidlertid defineres ved hjelp av logiske og relasjonelle operatører. “GRENSE”Klausul brukes til å spesifisere antall rader med utgangen. Denne artikkelen demonstrerte “Select * Where Exists” -forespørselsbruk.