Possiamo usare la sottoquery nella clausola dove in mysql?

Possiamo usare la sottoquery nella clausola dove in mysql?
In Mysql, una sottoquery è una query nidificata all'interno dell'altra query, come "INSERIRE","SELEZIONARE","ELIMINARE", O "AGGIORNAMENTO"Dichiarazioni. Inoltre, una sottoquery può essere nidificata all'interno dell'altra query e nota come "interno"Query. D'altra parte, la query che ha la sottoquery è chiamata "esterno"Query. La query interna viene sempre eseguita singolarmente e la query esterna dipende dai risultati della query interna.

Questo articolo discuterà:

  • Possiamo usare la sottoquery nella clausola dove in mysql?
  • Come usare la sottocquery in mysql dove la clausola?
  • Come utilizzare la sottoquery MySQL con operatori di confronto in Where Clause?
  • Come usare la sottocquery mysql nella clausola dove "in" o "non in" operatori?

Possiamo usare la sottoquery nella clausola dove in mysql?

Sì, possiamo usare la sottoquery nel "DOVE"Clausola in Mysql. La clausola "dove" può estrarre record che soddisfano le condizioni specificate.

Sintassi
La sintassi generale della sottoquery della clausola Where è elencata di seguito:

Seleziona * da dove col1 = (seleziona da dove)

Ora, usiamo la sottoquery nel "DOVE"Clausola per una migliore comprensione!

Passaggio 1: accedi a mysql
Innanzitutto, connettiti con il server MySQL eseguendo "mysql"Interrogazione con nome utente e password predefinita:

mysql -u root -p

Passaggio 2: visualizzare i database
Quindi, usa il "SPETTACOLO"Comando per elencare tutti i database:

Mostra database;

Abbiamo selezionato il “mynewdb"Database per ulteriori processi:

Passaggio 3: modifica il database
Corri il "UTILIZZO"Dichiarazione per modificare il database:

Usa myNewdb;

Passaggio 4: visualizzare la tabella del database
Ora, esegui il "SELEZIONARE"Dichiarazione per elencare il contenuto della tabella:

Seleziona * dallo studente;

Qui, abbiamo elencato il "alunno" tavolo:

Allo stesso modo, elenca il contenuto di "Student_Marks" tavolo:

Seleziona * da Student_Marks;

Ora applicheremo il "DOVE"Clausola con le sottoquerie sulla tabella sopra elencata per ottenere i record desiderati.

Come usare la sottocquery in mysql dove la clausola?

Eseguire il "SELEZIONARE"Dichiarazione con una"DOVEClausola e "SELEZIONARE"Dichiarazione come sottoquery:

Seleziona FirstName, City da Student Where Std = (Seleziona STD da Student Where LastName = "Khan");

Qui:

  • "SELEZIONARE"L'istruzione viene utilizzata per selezionare i dati dai database.
  • "Primo nome, città"Sono le colonne della tabella.
  • "DA"La clausola viene utilizzata per estrarre alcune righe dalla tabella.
  • "alunno"È il nostro nome da tavolo.
  • "DOVE"La clausola viene utilizzata per filtrare i record che soddisfano le condizioni specifiche.
  • "Std"È il nome della colonna che contiene gli ID studente.
  • "LastName = 'Khan'"È anche la nostra colonna della tabella.

Nel comando sopra indicato, in primo luogo, verrà eseguita la sottoquery. Dopodiché, la query esterna eseguirà. Secondo l'output fornito, solo un record soddisfa la condizione specificata:

Come utilizzare la sottoquery MySQL con operatori di confronto in Where Clause?

Possiamo anche utilizzare diversi operatori di confronto per confrontare un singolo risultato restituito dalla sottostante e dall'espressione in "DOVE"Clausola. Questi operatori di confronto sono ">" più grande di, "="Uguale e"<" meno di.

Esempio 1: Utilizzo di ">" maggiore dell'operatore di confronto nella clausola "Where" con la sottocquery
Il comando di seguito restituisce i registri di quegli studenti i cui voti sono più alti di "70"Utilizzo della sottoquery:

Seleziona * da Student_Marks dove STD in (Seleziona std da studenti_marks dove segni> 70);

In questa domanda:

  • Innanzitutto, determinerà il record di quegli studenti i cui voti sono sopra "70"Utilizzo della sottoquery.
  • Successivamente, la query esterna restituirà i segni con i dettagli i cui ID studenteschi sono nel set di risultati restituiti dalla sottoquery eseguita:

Esempio 2: usando "<” Less than Comparison Operator in “WHERE” Clause with Subquery
Il seguente comando restituirà i dettagli di quegli studenti i cui voti sono meno di "70"Utilizzo della sottoquery in"DOVE"Clausola:

Seleziona * da Student_Marks in cui STD in (Seleziona STD da Student_Marks dove segni < 70);

Secondo la dichiarazione eseguita, solo uno studente ha meno di "70" segni:

Esempio 3: usando "=" operatore di confronto uguale nella clausola "dove" con la sottocquery
Allo stesso modo, il comando indicato di seguito otterrà i dettagli di quegli studenti i cui voti sono uguali a "78" usando il "SELEZIONARE"Dichiarazione come sottoquery:

Seleziona * da Student_Marks dove STD in (Seleziona std da studenti_marks dove marchi = 78);

Come usare la sottocquery mysql nella clausola dove "in" o "non in" operatori?

Se la sottoquery specificata restituisce più valori, dobbiamo utilizzare il "DOVEClausola con il "IN" O "NON IN"Operatore.

Supponiamo di avere un tavolo chiamato "alunno"Ciò contiene i seguenti dati:

IL "Student_Marks"La tabella contiene i record di seguito:

Esempio 1: Utilizzo dell'operatore "non in" nella clausola "dove" con la sottocquery
Supponiamo di avere un tavolo chiamato "alunno"Che contiene i dati dello studente, come"Nome di battesimo","Cognome","Città","Residenza"E maggiori dettagli. Vogliamo ottenere il "primo nome" e "Città" da "alunno"Tabella in cui gli ID studenti non esistono nella sottoquery. In una sottoquery, otteniamo il record di studenti con nomi di città diversi:

Seleziona FirstName, City da Student Where Std non in (Seleziona Distinta Città dallo studente);

Qui, il "Distinto"L'istruzione viene utilizzata per restituire solo valori diversi:

Esempio 2: Utilizzo dell'operatore "In" nella clausola "dove"
Abbiamo un tavolo chiamato "Student_Marks"Che contiene i dati dello studente, come"Std","Nome di battesimo","Cognome", E "Segni". Dobbiamo ottenere il "primo nome" da "Student_Marks"Tabella in cui esistono segni di studenti nella sottoquery. In una sottoquery, stiamo ottenendo i voti di quegli studenti che differiscono l'uno dall'altro.

Per fare ciò, eseguire l'affermazione sotto l'elenco:

Seleziona STD, FirstName da Student_Marks in cui i segni in (selezionare Marchi distinti da Student_Marks);

Si tratta di usare una sottoquery nella clausola Where in MySQL.

Conclusione

Sì, puoi usare la sottoquery in Mysql "DOVE"Clausola. Possiamo usare operatori di confronto, come meno di, uguali e maggiori di, nella sottocquery della clausola "dove". Inoltre, il "IN" E "NON IN"Gli operatori possono essere utilizzati nella sottoquery. Questo articolo ha dimostrato la parte del subquery nella clausola "dove" in mysql.