Kan vi bruke subquery i hvor klausul i mysql?

Kan vi bruke subquery i hvor klausul i mysql?
I MySQL er et underspørsmål et spørring som er nestet i den andre spørringen, for eksempel "SETT INN”,“PLUKKE UT”,“Slett”, Eller“OPPDATER”Uttalelser. I tillegg kan en subquery nestes i den andre spørringen og kjent som en "indre”Spørring. På den annen side kalles spørringen som har subquery en "ytre”Spørring. Den indre spørringen blir alltid utført individuelt, og den ytre spørringen avhenger av resultatene fra den indre spørringen.

Denne oppskrivningen vil diskutere:

  • Kan vi bruke subquery i hvor klausul i mysql?
  • Hvordan du bruker subquery i mysql hvor klausulen?
  • Hvordan du bruker mysql -subquery med sammenligningsoperatører i hvor klausulen?
  • Hvordan du bruker mysql subquery i hvor klausul med "in" eller "ikke i" operatører?

Kan vi bruke subquery i hvor klausul i mysql?

Ja, vi kan bruke subquery i "HVOR”Klausul i MySQL. "Where" -bestemmelsen kan trekke ut poster som oppfyller de spesifiserte betingelsene.

Syntaks
Den generelle syntaksen for hvor klausulundersøking er listet opp nedenfor:

Velg * hvor col1 = (velg hvor)

La oss nå bruke subquery i "HVOR”Klausul for bedre forståelse!

Trinn 1: Få tilgang til mysql
Først må du koble til MySQL -serveren ved å kjøre "mysql”Spørring med brukernavn og standardpassord:

mysql -u root -p

Trinn 2: Se databaser
Bruk deretter “FORESTILLING”Kommando for å liste opp alle databaser:

Vis databaser;

Vi har valgt "mynewdb”Database for videre prosess:

Trinn 3: Endre database
Kjør “BRUK”Uttalelse for å endre databasen:

Bruk mynewdb;

Trinn 4: Vis databasetabell
Nå, utfør "PLUKKE UT”Uttalelse for å liste opp innholdet i tabellen:

Velg * fra Student;

Her har vi listet opp “student”Tabell:

Tilsvarende liste opp innholdet i "Student_marks”Tabell:

Velg * fra Student_marks;

Nå vil vi bruke “HVOR”Klausul med underlag på ovennevnte tabell for å få ønskede poster.

Hvordan du bruker subquery i mysql hvor klausulen?

Utfør “PLUKKE UT”Uttalelse med en“HVOR”Klausul og“PLUKKE UT”Uttalelse som et underspørs:

Velg FirstName, City From Student Where Std = (Velg STD fra Student der LastName = "Khan");

Her:

  • PLUKKE UT”Uttalelse brukes til å velge data fra databaser.
  • FirstName, City”Er tabellkolonnene.
  • FRA”Klausul brukes til å trekke ut noen rader fra tabellen.
  • student”Er vårt bordnavn.
  • HVOR”-Bestemmelsen brukes til filtreringsposter som oppfyller spesifiserte betingelser.
  • Std”Er kolonnens navn som inneholder student -ID -ene.
  • LastName = 'khan'”Er også tabellkolonnen vår.

I den ovennevnte kommandoen blir det først utført at subquery. Etter det vil den ytre spørringen utføre. I henhold til den medfølgende utdataene oppfyller bare en post den spesifiserte tilstanden:

Hvordan du bruker mysql -subquery med sammenligningsoperatører i hvor klausulen?

Vi kan også bruke forskjellige sammenligningsoperatører for å sammenligne et enkelt resultat som er returnert av subquery og uttrykket i "HVOR" klausul. Disse sammenligningsoperatørene er “>" større enn, "=”Lik, og“<" mindre enn.

Eksempel 1: Bruke “>” større enn sammenligningsoperatør i “Where” -bestemmelsen med undervisning
Den under-uttalte kommandoen returnerer postene til de studentene hvis karakterer er høyere enn “70”Bruke subquery:

Velg * fra Student_marks der STD inn (velg STD fra Student_marks hvor merker> 70);

I denne spørringen:

  • Først vil den avgjøre posten til de studentene hvis karakterer er over “70”Bruke subquery.
  • Etter det vil den ytre spørringen returnere merkene med detaljer hvis student -ID -er er i resultatsettet som er returnert av den utførte subquery:

Eksempel 2: Bruke “<” Less than Comparison Operator in “WHERE” Clause with Subquery
Følgende kommando vil returnere detaljene til de studentene hvis karakterer er mindre enn “70”Bruke underholdningen i“HVOR" klausul:

Velg * fra Student_marks hvor std inn (velg STD fra Student_marks hvor merker < 70);

I følge den utførte uttalelsen har bare en student mindre enn "70”Merker:

Eksempel 3: Bruke “=” lik sammenligningsoperatør i “Where” -bestemmelse med underliggende
Tilsvarende vil kommandoen under sagt få detaljer om de studentene hvis karakterer er lik "78" bruker "PLUKKE UT”Uttalelse som et underspørs:

Velg * fra Student_marks der STD inn (velg STD fra Student_marks hvor merker = 78);

Hvordan du bruker mysql subquery i hvor klausul med "in" eller "ikke i" operatører?

Hvis den spesifiserte subquery returnerer flere verdier, er vi pålagt å bruke "HVOR”Klausul med“I”Eller“IKKE I”Operatør.

Anta at vi har et bord som heter “student”Som inneholder følgende data:

Student_marks”Tabellen inneholder de nedenfor-listede postene:

Eksempel 1: Bruke "ikke i" operatør i "hvor" -klausulen med subQuery
Anta at vi har et bord som heter “student”Som inneholder studentens data, for eksempel“Fornavn”,“Etternavn”,“By”,“Permanent adresse”, Og flere detaljer. Vi ønsker å få "FirstName" og "City" fra "student”Tabell der student -ID -ene ikke eksisterer i underkjøringen. I en subquery får vi oversikten over studenter med forskjellige bynavn:

Velg FirstName, City fra Student der STD ikke i (velg distinkt by fra student);

Her, "DISTINKT”Uttalelse brukes til å bare returnere bare forskjellige verdier:

Eksempel 2: Bruke “In” -operatør i “Where” -bestemmelse med undervisning
Vi har et bord som heter “Student_marks”Som inneholder studentens data, for eksempel“Std”,“Fornavn”,“Etternavn”, Og“Merker”. Vi trenger å få "FirstName" fra "Student_marks”Tabell der studentmerker eksisterer i underkjøringen. I en subquery får vi merkene til de studentene som skiller seg fra hverandre.

For å gjøre det, utfør den nedenfor-børsnoterte uttalelsen:

Velg STD, FirstName fra Student_marks hvor merker i (velg distinkte merker fra Student_marks);

Det handler om å bruke et undervisning i WHERE -leddet i MySQL.

Konklusjon

Ja, du kan bruke subquery i MySQLs “HVOR" klausul. Vi kan bruke sammenligningsoperatører, for eksempel mindre enn, like og større enn, i "hvor" -klausulen Subquary. I tillegg “I”Og“IKKE I”Operatører kan brukes i underkjøringen. Denne oppskrivningen demonstrerte Om-undervisningen i "Where" -klausulen i MySQL.