Come si aggiunge un caso a una query MySQL?

Come si aggiunge un caso a una query MySQL?
In MySQL, l'istruzione Case descrive i modi di gestire un ciclo per eseguire una determinata serie di condizioni e restituire il caso abbinato usando IF-Else. È una dichiarazione di controllo che convalida una serie di condizioni. Se c'è un caso trovato vero, restituisce il valore. Se nessun caso corrisponde, restituisce il valore altro. Se non è stato definito nessun valore altro, restituisce null.

Questa guida si immergerà nell'istruzione Case in MySQL.

La dichiarazione del caso in mysql

Se hai una precedente esperienza di programmazione in uno qualsiasi dei linguaggi di programmazione popolari, allora la dichiarazione del caso è sicuramente un argomento familiare. La struttura è la seguente.

CASO
QUANDO POI
QUANDO POI
ALTRO
FINE

Facciamo una rapida rottura di ciascuna delle parti.

  • : Le condizioni richieste per valutare la dichiarazione del caso.
  • : Il risultato della rispettiva partita del caso.
  • : Il risultato in cui non è stato trovato alcun caso di corrispondenza. Se non definito, il caso ritorna NULLO.

Se guardi da vicino, la struttura è quasi esattamente ciò che troveresti in una tipica struttura logica di Java If-Else.

Usando l'istruzione Case

Uso di base
Per dimostrare l'applicazione del caso, useremo un database MySQL dedicato. Per facilità d'uso, userò PhpMyAdmin per accedere e gestire i database. Ulteriori informazioni sull'installazione e la configurazione di PhpMyAdmin e MySQL su Ubuntu.

Ho creato un database vuoto Ciao mondo.

Il nostro database di esempio conterrà informazioni sugli studenti. Crea una nuova tabella denominata Studenti.

$ Create studenti di tabella (Id int, nome Varchar (255), State Varchar (255), City Varchar (255));

Ora, inserisci un input di esempio nella tabella.

$ Insert in studenti (id, nome, stato, città) valori ('1', 'Adrien', 'Arizona', 'prescott');
$ Insert in studenti (id, nome, stato, città) valori ('2', 'alisha', 'nebraska', 'omaha');
$ Insert in studenti (id, nome, stato, città) valori ("3", "Brenda", "Michigan", "Detroit");
$ Insert in studenti (id, nome, stato, città) valori ('4', 'thompson', 'New York', ");
$ Insert in studenti (id, nome, stato, città) valori ("5", "David", "," Portland ");

Il tavolo finale dovrebbe apparire così.

Dai un'occhiata alla seguente query e alla sua produzione.

Seleziona Nome, Stato, Città dagli studenti Ordine di (
CASO
Quando lo stato è nullo, allora città
Else Stato
FINE);

Utilizzo dell'istruzione Caso con funzione aggregata
Nel prossimo esempio, creeremo una nuova tabella di database contenente informazioni di vendita. Da tali informazioni, capiremo il conteggio degli ordini per stato dell'ordine. Per fare ciò, useremo anche la funzione Sum () in MySQL. La seguente guida si tuffa in profondità nella funzione Sum () in MySQL.

Crea una nuova tabella Ordini.

$ Crea ordini di tabella (order_id int, sales_id int, status varchar (255));

Popolamo la tabella con alcuni dati di esempio.

$ Insert in order (order_id, sales_id, status) valori ('5', '10', 'elaborazione');
$ Insert in order (order_id, sales_id, status) valori ('8', '244', 'successo');
$ Insert in order (order_id, sales_id, status) valori ('4', '274', 'elaborazione');
$ Insert in order (order_id, sales_id, status) valori ('80', '452', 'successo');
$ Insert in order (order_id, sales_id, status) valori ('10', '10000', 'elaborazione');

Il seguente codice conterà le istanze di successo E in lavorazione.

SELEZIONARE
Somma (caso
Quando status = 'successo' quindi 1
Altrimenti 0
End) come "Conteggio di successo",
Somma (caso
Quando status = 'elaborazione' quindi 1
Altrimenti 0
Fine) come "elaborazione",
Contare (*) come "somma totale"
Dagli ordini;

Come mostra l'output, mostra una somma di tutti gli ordini in base al loro stato. Innanzitutto, le dichiarazioni dei casi eseguono e restituiscono 1 ogni volta che sono abbinate al rispettivo stato dell'ordine. Infine, la funzione Sum () calcola il numero totale di ordini.

Pensiero finale

In questa guida, abbiamo esplorato l'uso della dichiarazione del caso in MySQL. In breve, è un'istruzione logica che consente l'esecuzione della logica IF-ELSE nelle query SQL in modo efficiente. Abbiamo mostrato come implementarlo in varie situazioni. Rispetto all'utilizzo di più istruzioni IF-ELSE, CASE rende il codice più leggibile ed efficiente.

Mysql è ricco di potenti caratteristiche. Per saperne di più, dai un'occhiata alle seguenti guide sullo schema, alla funzione datediff (), lavorando con la sottostringa, ecc.

Felice calcolo!