Hvordan legger jeg til sak til en MySQL -spørring?

Hvordan legger jeg til sak til en MySQL -spørring?
I MySQL beskriver saksoppgaven måtene å håndtere en løkke for å utføre et visst sett med betingelser og returnere saken matchet ved hjelp av IF-Else. Det er en kontrolluttalelse som validerer et sett med betingelser. Hvis det er noe tilfelle funnet sant, returnerer det verdien. Hvis ingen sak samsvarer, returnerer den andre verdien. Hvis ingen andre verdi ble definert, returnerer den null.

Denne guiden vil dykke ned i saksuttalelsen i MySQL.

Saksuttalelsen i MySQL

Hvis du har tidligere programmeringsopplevelse i noen av de populære programmeringsspråkene, er saksuttalelsen definitivt et kjent emne. Strukturen er som følger.

SAK
NÅR DA
NÅR DA
ELLERS
SLUTT

La oss ha en rask oversikt over hver av delene.

  • : Forholdene som kreves for å evaluere saksuttalelsen.
  • : Resultatet av den respektive sakskampen.
  • : Resultatet når det ikke ble funnet noen matchende sak. Hvis ikke definert, så returnerer saken NULL.

Hvis du ser nøye på, er strukturen nesten nøyaktig hva du vil finne i en typisk Java if-Else-logikkstruktur.

Bruke saksuttalelsen

Grunnleggende bruk
For å demonstrere anvendelsen av saken, vil vi bruke en dedikert MySQL -database. For brukervennlighet, bruker jeg phpmyadmin for å få tilgang til og administrere databaser. Lær mer om å installere og konfigurere phpmyadmin og mysql på Ubuntu.

Jeg har opprettet en tom database Hei Verden.

Eksempeldatabasen vår vil inneholde informasjon om studenter. Lag et nytt bord som heter Studenter.

$ Create Table Students (ID Int, Name Varchar (255), State Varchar (255), City Varchar (255));

Sett nå noen prøveinngang i tabellen.

$ Sett inn studenter (id, navn, stat, by) verdier ('1', 'Adrien', 'Arizona', 'Prescott');
$ Sett inn studenter (ID, navn, tilstand, by) verdier ('2', 'Alisha', 'Nebraska', 'Omaha');
$ Sett inn studenter (id, navn, stat, by) verdier ('3', 'Brenda', 'Michigan', 'Detroit');
$ Sett inn studenter (id, navn, stat, by) verdier ('4', 'Thompson', 'New York', ");
$ Sett inn studenter (ID, navn, tilstand, by) verdier ('5', 'David', ", 'Portland');

Finalebordet skal se slik ut.

Ta en titt på følgende spørsmål og utdata.

Velg navn, tilstand, by fra studenter bestilling av (
SAK
Når staten er null, så by
Annet stat
SLUTT);

Bruke saksuttalelse med samlet funksjon
I neste eksempel oppretter vi en ny databasetabell som inneholder salgsinformasjon. Fra den informasjonen vil vi finne ut antall bestillinger etter ordren til ordren. For å gjøre det, bruker vi også Sum () -funksjonen i MySQL. Følgende guide dykker dypt inn i summen () -funksjonen i mysql.

Lag et nytt bord Bestillinger.

$ Opprett tabellbestillinger (Order_id int, Sales_id Int, Status varchar (255));

La oss fylle tabellen med noen eksempler på data.

$ INSERT I BESTILLINGER (ordre_id, Sales_id, status) verdier ('5', '10', 'prosessering');
$ INSERT I BESTILLINGER (ordre_id, Sales_id, status) verdier ('8', '244', 'suksess');
$ INSERT I BESTILLINGER (ordre_id, Sales_id, status) verdier ('4', '274', 'prosessering');
$ INSERT I BESTILLINGER (Order_id, Sales_id, Status) verdier ('80', '452', 'suksess');
$ INSERT I BESTILLINGER (ordre_id, Sales_id, status) verdier ('10', '10000', 'prosessering');

Følgende kode vil telle forekomstene av suksess og behandling.

PLUKKE UT
Sum (sak
Når status = 'suksess' så 1
Annet 0
Slutt) som 'suksessantall',
Sum (sak
Når status = 'behandling' så 1
Annet 0
Slutt) som 'prosessering',
Telle (*) som 'sum totalt'
Fra ordrer;

Som utdataene viser, viser den en sum av alle ordrene i henhold til deres status. Først utføres saksuttalelsene og returnerer 1 hver gang det blir matchet med den respektive ordrestatusen. Til slutt beregner summen () -funksjonen det totale antallet bestillinger.

Endelig tanke

I denne guiden utforsket vi bruken av sakserklæringen i MySQL. Kort sagt, det er en logikkuttalelse som gjør det mulig. Vi viste hvordan vi skal implementere det i forskjellige situasjoner. Sammenlignet med å bruke flere if-ests-setninger, gjør Case koden mer lesbar og effektiv.

MySQL er rik på kraftige funksjoner. For å lære mer, sjekk ut følgende guider på skjemaet, den daterte () -funksjonen, arbeid med Substring, etc.

Glad databehandling!