Come utilizzare un'istruzione Case con più condizioni

Come utilizzare un'istruzione Case con più condizioni
Mentre lavora con enormi volumi di dati, l'utente desidera eseguire azioni in base a più condizioni. In mysql, il "CASO"L'istruzione fornisce un modo efficace per gestire tali situazioni. IL "CASO"L'istruzione viene utilizzata per definire più condizioni e le loro azioni corrispondenti da eseguire quando queste condizioni sono soddisfatte. Questo post discuterà di come usare il "CASO"Dichiarazione in MySQL con più condizioni utilizzando gli operatori logici"E" E "O".

Prerequisito: accedi al server mysql locale

Prima di iniziare questo post, assicurati di accedere al server MySQL locale utilizzando questa sintassi:

mysql -u -p

Fornisci il nome del tuo server MySQL e il nome utente per questo post è "MD"Quindi il comando sarebbe diventato:

mysql -u md -p

Dopo l'accesso riuscito, modifica il database in cui si desidera lavorare utilizzando la sintassi:

utilizzo ;

Il nome del database, per questo post è "Linuxhint"Quindi il comando sarà:

Usa Linuxhint;

L'output visualizzerà il messaggio "Database modificato":

Hai cambiato correttamente nel tuo database desiderato.

Qual è l'affermazione "caso" in mysql?

IL "CASO"L'istruzione è un'espressione condizionale in MySQL per definire le condizioni e le azioni corrispondenti da eseguire in base a tali condizioni. È possibile definire le condizioni per eseguire le loro azioni corrispondenti se la condizione è vera; Altrimenti, esegui il "ALTRO"Azione. Condizioni multiple possono essere definite in uno "QUANDO"Clausola usando gli operatori logici tra loro.

Sintassi dell'istruzione "Caso"

La sintassi del "CASO"La dichiarazione è:

SELEZIONARE *,
CASO
Quando [condition_1] quindi [output1]
Quando [condition_2] quindi [output2]
Else [output3]
End come [colonna-nome]
Da [tavolo-nome];

Riduce questa sintassi, qui:

  • IL "SELEZIONARE *"Viene utilizzato per selezionare tutte le colonne della tabella specificata
  • IL "CASO"L'affermazione inizia con il"CASO"Parola chiave seguita da due o più"QUANDO"Clausole per definire più condizioni.
  • Ogni "QUANDO"La clausola definisce una condizione, se la condizione è vera, viene restituita l'output corrispondente che viene indicato dopo"POI"Clausola
  • Se non è vera alcuna condizione, l'uscita viene restituita che viene indicata in "ALTRO"Clausola
  • IL "FINE"La parola chiave viene utilizzata per contrassegnare la fine di"CASO" dichiarazione
  • IL "Come [colonna-nome]"Viene utilizzato per definire un nome per la colonna che visualizzerà il risultato di"CASO" dichiarazione

Esempio di dichiarazione dei casi per il raggruppamento basato su intervallo
Per definire l'output per il raggruppamento in base a una condizione se il "Id"Dal tavolo"dipendente"Arriva nell'intervallo definito in"QUANDO"Clausola e visualizza il proprio output nella colonna denominata"Id". Esegui il comando indicato di seguito:

SELEZIONARE *,
CASO
Quando ID tra 1 e 5 allora '1-5'
Quando ID tra 6 e 10, allora 6-10 '
Altro 'maggiore di 10'
Termina come ID
Dal dipendente;

L'output sta visualizzando "1-5"Dove si trova il" id "tra"1" A "5","6-10" dove il "Id" si trova in "6" A "10"Altrimenti se entrambe le condizioni non sono soddisfatte, l'uscita è visualizzata"Maggiore di 10":

Dichiarazione del caso con più condizioni utilizzando l'operatore logico "e"

IL "CASO"L'istruzione può definire più condizioni utilizzando il logico"E"Operatore. La sintassi per il "QUANDO"Operatore con più condizioni utilizzando il"E"L'operatore è riportato di seguito:

SELEZIONARE *,
CASO
Quando [condition_1] e [condition_2] quindi [output]
Quando [condition_3] e [condition_4] quindi [output]
Else [output]
End come [colonna-nome]
Da [tavolo-nome];

Vediamo un esempio a "SELEZIONARE""Id","Nome della ditta" E "Nome del contatto"Colonne dalla tabella"dipendente"Da visualizzare"Categoria n. 1" se la "Città" E "Paese"Sono uguali a"Osaka" E "Giappone"Rispettivamente o visualizza"Categoria n. 2"Se sono uguali a"Londra" E "UK". Se le condizioni nel "QUANDO"Clausola non soddisfa il ritorno"Sconosciuto". L'output dovrebbe essere visualizzato in una colonna denominata "Città". Di seguito è riportato il comando per l'esempio dato:

Seleziona ID, CompanyName, ContactName,
CASO
When City = 'Osaka' e country = 'Giappone' allora 'Categoria n. 1'
When City = 'London' e country = 'UK' allora 'Categoria #2'
Altro "sconosciuto"
Termina come città
Dal dipendente;

L'uscita sta visualizzando una colonna "Città"Ciò sta classificando i record in base a più condizioni:

Vediamo un altro esempio a "SELEZIONARE""Id" E "Nome del prodotto"Colonne dalla tabella"Prodotto"Da visualizzare"Prezzo basso","Prezzo medio" E "Alto prezzo" se la "Prezzo unitario”Buisce negli intervalli definiti usando gli operatori di confronto e"E"Operatore tra due condizioni in un"QUANDO"Clausola. Altrimenti, se il "QUANDO"Le condizioni della clausola non sono soddisfatte, ritorna"Sconosciuto". L'output dovrebbe essere visualizzato in una colonna denominata "Prezzo unitario". Di seguito è riportato il comando per l'esempio dato:

Seleziona ID, ProductName,
CASO
Quando unità di unità> = 1 e unità PRICE = 16 e unità PRICE = 31 Quindi "prezzo elevato"
Altro "sconosciuto"
Termina come unità
Dal prodotto;

L'uscita viene visualizzata nella colonna "Prezzo unitario":

Dichiarazione del caso con più condizioni utilizzando l'operatore logico "o"

IL "CASO"L'istruzione può definire più condizioni utilizzando il logico"O"Operatore. La sintassi per il "QUANDO"Operatore con più condizioni utilizzando il"O"L'operatore è riportato di seguito:

SELEZIONARE *,
CASO
Quando [condition_1] o [condition_2] quindi [output]
Quando [condition_3] o [condition_4] quindi [output]
Else [output]
End come [colonna-nome]
Da [tavolo-nome];

Vediamo un esempio, a "SELEZIONARE""Id","Nome della ditta" E "Nome del contatto"Colonne dalla tabella"dipendente"Per visualizzare le categorie se il"Città" E "Paese"Sono uguali a un certo valore. L'operatore "o" viene utilizzato tra due condizioni in "QUANDO"Clausola. Altrimenti, se il "QUANDO"Le condizioni della clausola non sono soddisfatte, ritorna"Sconosciuto". L'output dovrebbe essere visualizzato in una colonna denominata "Città". Il comando per l'esempio dato è fornito di seguito:

Seleziona ID, CompanyName, ContactName,
CASO
Quando City = 'Osaka' o country = 'Giappone' allora 'Categoria n. 1'
When City = 'London' o country = 'UK' allora 'Categoria #2'
Quando paese = 'USA' quindi 'Categoria #3'
Altro "sconosciuto"
Termina come città
Dal dipendente;

L'output visualizza i valori nella colonna "Città"Estratto attraverso"CASO"Dichiarazione con più condizioni:

Vediamo un altro esempio, a "SELEZIONARE""Id","Nome di battesimo","Cognome" E "Telefono"Colonne dalla tabella"Cliente"Per visualizzare le categorie se il"Città" o il "Paese"Il valore è uguale ai valori definiti. Se le condizioni nel "QUANDO"La clausola non si incontra, ritorna"Sconosciuto". L'output dovrebbe essere visualizzato in una colonna denominata "Città". Il comando per l'esempio dato è fornito di seguito:

Seleziona ID, FirstName, LastName, Telefono,
CASO
When City = 'Berlin' o country = 'Germania' allora 'Categoria n. 1'
When City = 'London' o country = 'UK' allora 'Categoria #2'
Quando City = 'Luleå' o country = 'Svezia' allora 'Categoria #3'
Quando City = 'StrasBourg' o country = 'France' allora 'Categoria #4'
Quando City = 'Graz' o country = 'Austria' allora 'Categoria #5'
Altro "sconosciuto"
Termina come città
Dal cliente;

La query eseguirà e restituirà l'output contenente la colonna "Città"Per visualizzare le categorie in base a molteplici condizioni:

Ciò riassume tutti i diversi metodi per utilizzare l'istruzione del caso con più condizioni.

Conclusione

IL "CASO"L'istruzione in MySQL viene utilizzata per definire la logica complessa e dinamica definendo più condizioni in una"QUANDO"Clausola usando la logica"E" E "O"Operatori. IL "ALTRO"La clausola viene eseguita se non viene soddisfatta alcuna condizione. Alla fine dell'istruzione, assicurati di utilizzare la parola chiave "fine".