SQL Server IF…ELSE Ehtolauseke: T-SQL Select Query -esimerkki

Miksi tarvitset ehdollisia lausuntoja?

SQL-palvelimen ehdolliset käskyt auttavat sinua määrittämään eri logiikan ja toiminnot eri olosuhteille. Sen avulla voit suorittaa erilaisia ​​toimintoja lausunnossa määritettyjen ehtojen perusteella. Todellisessa elämässä teet monia toimia jonkin muun toiminnan tai tilanteen tuloksesta riippuen.

Joitakin reaaliaikaisia ​​esimerkkejä SQL-tapauskäskystä ovat:

  • Jos huomenna sataa, suunnittelen reissua.
  • Jos lentoliput ovat alle 400 dollaria kaupungistani, lähden lomalle Eurooppaan, muuten suosin jotain lähellä olevaa turistipaikkaa.

Tässä näet, että yksi toiminto, kuten edellä oleva Road trip, on ehdollisesti riippuvainen toisen toiminnan tuloksesta, joka on "sataako huomenna vai ei!"

Samoin MS SQL tarjoaa myös mahdollisuuden suorittaa T-SQL-käskyä ehdollisesti.

JOS… Muu lauseke SQL Serverissä

In MS SQL, TAI MUUTEN on eräänlainen Ehdollinen lausunto.

Mikä tahansa T-SQL-käsky voidaan suorittaa ehdollisesti käyttämällä TAI MUUTEN.

Alla oleva kuva selittää IF ELSE SQL-palvelimessa:

Kuinka If ja Else toimivat
Miten jos ja muuten toimii
  • Jos tilanne arvioi Totta, sitten T-SQL-käskyt, joita seuraa IF SQL-palvelimen ehto suoritetaan.
  • Jos tilanne arvioi false, sitten T-SQL-käskyt, joita seuraa ELSE avainsana suoritetaan.
  • Kun joko IF T-SQL-käskyt tai ELSE T-SQL-käskyt suoritetaan, muut ehdottomat T-SQL-käskyt jatkavat suorittamista.

IF… Muu Syntaksi ja säännöt SQL:ssä

Syntaksi:

IF <Condition>
     {Statement | Block_of_statement}   
[ ELSE   
     {Statement | Block_of_statement}]

Säännöt:

  • Kunto pitäisi olla Boolen lausekeeli ehto antaa Boolen arvon arvioituna.
  • JOS MUU -lausunto sisään SQL voi ehdollisesti käsitellä yhtä T-SQL-lausetta tai T-SQL-lauseiden lohkoa.
  • Lausekkeen tulee alkaa avainsanalla BEGIN ja päättyä avainsanalla END.
  • BEGIN- ja END-käskyt auttavat SQL-palvelinta tunnistamaan suoritettavan lausekkeen ja erottamaan sen muista T-SQL-käskyistä, jotka eivät ole osa IF…ELSE T-SQL-lohkoa.
  • ELSE on valinnainen.

JOS…ELSE ainoalla numeerisella arvolla Boolen lausekkeessa.

Kunto: TOSI

IF (1=1)
PRINT 'IF STATEMENT: CONDITION IS TRUE'
ELSE
PRINT 'ELSE STATEMENT: CONDITION IS FALSE'

JOS…ELSE ainoalla numeerisella arvolla Boolen lausekkeessa

Kunto: EPÄTOSI

IF (1=2)
PRINT 'IF STATEMENT: CONDITION IS TRUE'
ELSE
PRINT 'ELSE STATEMENT: CONDITION IS FALSE'

JOS…ELSE ainoalla numeerisella arvolla Boolen lausekkeessa

Oletus: Oletetaan, että sinulla on taulukko "Guru99" kahdella sarakkeella ja neljällä rivillä alla olevan kuvan mukaisesti:

JOS…ELSE ainoalla numeerisella arvolla Boolen lausekkeessa

Käytämme "Guru99" taulukko muissa esimerkeissä

IF…ELSE muuttujan kanssa Boolen lausekkeessa.

Kunto: TOSI

DECLARE @Course_ID INT = 4

IF (@Course_ID = 4)
Select * from Guru99 where Tutorial_ID = 4
ELSE
Select * from Guru99 where Tutorial_ID != 4

JOS...ELSE muuttujan kanssa Boolen lausekkeessa

Kunto: EPÄTOSI

DECLARE @Course_ID INT = 4

IF (@Course_ID != 4)
Select * from Guru99 where Tutorial_ID = 4
ELSE
Select * from Guru99 where Tutorial_ID != 4

JOS...ELSE muuttujan kanssa Boolen lausekkeessa

JOS…MUUTA ja Begin End

Kunto: TOSI

DECLARE @Course_ID INT = 2

IF (@Course_ID <=2)
	BEGIN
	Select * from Guru99 where Tutorial_ID = 1
	Select * from Guru99 where Tutorial_ID = 2
	END
ELSE
	BEGIN
	Select * from Guru99 where Tutorial_ID = 3
	Select * from Guru99 where Tutorial_ID = 4
	END

JOS...MUUTA ja Begin End

Kunto: EPÄTOSI

DECLARE @Course_ID INT = 2

IF (@Course_ID >=3)
	BEGIN
	Select * from Guru99 where Tutorial_ID = 1
	Select * from Guru99 where Tutorial_ID = 2
	END
ELSE
	BEGIN
	Select * from Guru99 where Tutorial_ID = 3
	Select * from Guru99 where Tutorial_ID = 4
	END

JOS...MUUTA ja Begin End

JOS-lauseke kanssa Ei muuta

Voit käyttää IF-käskyä SQL:ssä ilman ELSE-osaa. Muista, että totesimme, että ELSE-osa on valinnainen. Esimerkiksi:

DECLARE @Course_ID INT = 2

IF (@Course_ID <=2)
	Select * from Guru99 where Tutorial_ID = 1

Se tulostaa seuraavat tiedot:

JOS-lauseke kanssa Ei muuta

Väärän ehdon suorittaminen ei anna tulosta. Harkitse seuraavaa kyselyä

DECLARE @Course_ID INT = 2

IF (@Course_ID <=0)
	Select * from Guru99 where Tutorial_ID = 1

Tulos se

JOS-lauseke kanssa Ei muuta

Sisäkkäiset IF…Muut lausunnot

Toisin kuin muut ohjelmointikielet, et voi lisätä ELSE IF -käskyä IF ELSE -ehtoon SQL:ssä. Tästä syystä voit sijoittaa IF ELSE SQL-kyselylausekkeisiin. Se esitetään alla:

 DECLARE @age INT;
SET @age = 60;

IF @age < 18
   PRINT 'underage';
ELSE
BEGIN
   IF @age < 50
      PRINT 'You are below 50';
   ELSE
      PRINT 'Senior';
END;
  • Tässä esimerkissä koodi tulostetaan alaikäiseksi, jos @age-arvo on alle 18.
  • Jos ei, ELSE-osa suoritetaan. ElSE-osassa on sisäkkäinen IF…ELSE.
  • Jos @age-arvo on alle 50, tämä tulostaa Olet alle 50. Jos mikään näistä ehdoista ei täyty, koodi tulostuu Senior.

Sisäkkäiset IF…Muut lausunnot

Yhteenveto

  • Muuttujat ovat objekti, joka toimii paikkamerkkinä.
  • Lausekkeen tulee alkaa avainsanalla BEGIN ja päättyä avainsanalla END.
  • Else on valinnainen käytettäväksi IF… ELSE-käskyssä
  • SQL IF ELSE -ehto on myös mahdollista sijoittaa toiseen IF…ELSE-käskyyn.

Tiivistä tämä viesti seuraavasti: