Seleziona * dove esiste - mysql

Seleziona * dove esiste - mysql
MySQL (noto RDBMS) può archiviare enormi volumi di dati nei suoi database in modo organizzato. In questo database, i dati vengono filtrati utilizzando diverse query. Più specificamente, "Seleziona * dove esiste"È una domanda comune di MySQL che usa il"Esiste"Operatore. IL "ESISTERE"L'operatore restituisce l'output dalla tabella solo se la sottoquery restituisce uno o più record dopo aver controllato una condizione specificata.

Questo post discuterà dell'uso di "Seleziona * dove esiste".

Come usare "seleziona * dove esiste" in mysql?

Abbassiamo la sintassi del "Seleziona * dove esiste" Domanda:

Seleziona * da dove esiste
(Selezionare * da dove condizione);

Qui:

  • IL "SELEZIONARE"L'istruzione viene utilizzata per filtrare i record.
  • IL "*"È un personaggio jolly che rappresenta tutte le colonne.
  • IL "DOVE"La clausola recupera i dati che soddisfano una condizione specifica.
  • IL "Esiste"L'operatore restituisce i risultati se la sottoquery restituisce una o più righe dopo aver verificato una condizione specificata.

Metodo 1: come utilizzare "Seleziona * dove esiste" con una semplice sottoquery?

Vediamo un esempio per filtrare i dati da "Prodotto”Tabella se la sottoquery restituisce uno o più di un record controllando che il"Codice prodotto" dal "OrdineLa tabella "è uguale a"Id"Del"Prodotto"Tabella, esegui questa query:

Seleziona * dal prodotto dove esiste
(Seleziona * da orderItem dove orderItem.ProductID = Prodotto.Id);

L'output contiene i record che soddisfano la condizione specificata:

Metodo 2: come utilizzare "Seleziona * dove esiste" con operatore logico e operatore relazionale?

Con l'operatore esistente, gli operatori logici e relazionali, come "e", "o", "=", "" possono essere specificati nella sottoquery.

Ad esempio, si desidera estrarre dati dal "Prodotto"Tabella se la sottostante non restituisce un risultato nullo dopo averlo controllato per i record in cui"Id"Del"ProdottoLa tabella "è uguale a"Codice prodotto"Del"OrderItem" tavolo E "Prezzo unitario" è uguale a "22":

Seleziona * dal prodotto dove esiste
(Seleziona * da OrderItem
Dove ordertem.ProductID = Prodotto.Id e unità PRICE = 22);

L'output conterrà i record filtrati:

Vediamo un esempio simile ma invece di "UnitPrice = 22", scrivere "Prezzo unitario < 6":

Seleziona * dal prodotto dove esiste
(Seleziona * da OrderItem
Dove ordertem.ProductID = Prodotto.ID e unità < 6);

L'output fornirà i record ottenuti dalla query:

Metodo 3: come utilizzare "selezionare * dove esiste" con la clausola "limite"?

IL "Seleziona * dove esiste"Può essere usato con il"LIMITE"Clausola, che definisce il numero di righe per il risultato.

Ad esempio, se si desidera estrarre solo 4 file di "Fornitore"Tabella, se il"Id"Del"FornitoreLa tabella "è uguale a"Fornitoreid"Del"Prodotto"Tabella, usa questa query:

Seleziona * dal fornitore dove esiste
(Seleziona * dal prodotto dove il prodotto.FornitoreD = fornitore.Id) limite 4;

L'output visualizza solo le righe "4", come definito per clausola "limite":

Conclusione

In mysql, il "Seleziona * dove esiste"La query estrae i record se la sottoquery restituisce uno o più di un risultato in base alla condizione specificata. Tuttavia, la condizione può essere definita utilizzando operatori logici e relazionali. IL "LIMITE"La clausola viene utilizzata per specificare il numero di righe dell'output. Questo articolo ha dimostrato l'uso di query "seleziona * dove esiste".