Pernyataan Kondisi SQL Server IF…ELSE: Contoh Kueri Pilih T-SQL

Mengapa Anda memerlukan Pernyataan Bersyarat?

Pernyataan kondisional di server SQL membantu Anda menentukan logika dan tindakan berbeda untuk kondisi berbeda. Ini memungkinkan Anda melakukan tindakan berbeda berdasarkan kondisi yang ditentukan dalam pernyataan. Dalam kehidupan nyata, Anda melakukan banyak tindakan bergantung pada hasil aktivitas atau situasi lain.

Beberapa contoh pernyataan kasus SQL secara real-time adalah:

  • Jika besok hujan, saya akan merencanakan perjalanan darat.
  • Jika tiket pesawat kurang dari $400 dari kota saya, maka saya akan pergi berlibur ke Eropa, jika tidak, saya akan memilih tempat wisata terdekat.

Di sini, Anda dapat melihat salah satu tindakan, seperti Perjalanan darat di atas bergantung secara kondisional pada hasil kegiatan lain yaitu “besok akan hujan atau tidak!”

Demikian pula, MS SQL juga menyediakan kemampuan untuk mengeksekusi pernyataan T-SQL secara kondisional.

JIKA… Pernyataan lain di SQL Server

In MSSQL, JIKA… LAIN adalah jenis Pernyataan bersyarat.

Pernyataan T-SQL apa pun dapat dieksekusi secara kondisional menggunakan JIKA… LAIN.

Gambar di bawah ini menjelaskan IF ELSE di SQL server:

Bagaimana Jika dan Lain Bekerja
Bagaimana jika dan yang lain berhasil
  • Jika kondisinya bernilai Benar, kemudian pernyataan T-SQL diikuti oleh IF kondisi di SQL server akan dieksekusi.
  • Jika kondisinya bernilai Salah, kemudian pernyataan T-SQL diikuti oleh ELSE kata kunci akan dieksekusi.
  • Sekali, baik pernyataan IF T-SQL atau pernyataan ELSE T-SQL dieksekusi, maka pernyataan T-SQL tanpa syarat lainnya akan melanjutkan eksekusi.

IF… Else Sintaks dan aturan dalam SQL

sintaks:

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

Aturan:

  • Kondisinya seharusnya Ekspresi Boolean, Yaitu, kondisi menghasilkan nilai Boolean saat dievaluasi.
  • Pernyataan IF ELSE di SQL dapat menangani satu pernyataan T-SQL atau blok pernyataan T-SQL secara kondisional.
  • Blok pernyataan harus dimulai dengan kata kunci BEGIN dan ditutup dengan kata kunci END.
  • Menggunakan BEGIN dan END membantu server SQL untuk mengidentifikasi blok pernyataan yang perlu dieksekusi dan memisahkannya dari pernyataan T-SQL lainnya yang bukan bagian dari blok IF…ELSE T-SQL.
  • LAINNYA adalah opsional.

IF…ELSE dengan satu-satunya nilai numerik dalam Ekspresi Boolean.

Kondisi: BENAR

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

IF…ELSE dengan satu-satunya nilai numerik dalam Ekspresi Boolean

Kondisi: SALAH

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

IF…ELSE dengan satu-satunya nilai numerik dalam Ekspresi Boolean

Anggapan: Asumsikan Anda memiliki tabel sebagai 'Guru99' dengan dua kolom dan empat baris seperti yang ditampilkan di bawah ini:

IF…ELSE dengan satu-satunya nilai numerik dalam Ekspresi Boolean

Kami akan gunakan 'Guru99' tabel dalam contoh selanjutnya

IF…ELSE dengan variabel dalam Ekspresi Boolean.

Kondisi: BENAR

DECLARE @Course_ID INT = 4

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

IF...ELSE dengan variabel dalam Ekspresi Boolean

Kondisi: SALAH

DECLARE @Course_ID INT = 4

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

IF...ELSE dengan variabel dalam Ekspresi Boolean

IF…ELSE dengan Begin End

Kondisi: BENAR

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

IF...ELSE dengan Mulai Akhir

Kondisi: SALAH

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

IF...ELSE dengan Mulai Akhir

Pernyataan IF dengan No Else

Anda dapat menggunakan pernyataan IF dalam SQL tanpa bagian ELSE. Ingat kami menyatakan bahwa bagian ELSE adalah opsional. Misalnya:

DECLARE @Course_ID INT = 2

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

Ia mencetak hal berikut:

Pernyataan IF dengan No Else

Menjalankan kondisi yang salah tidak akan memberikan output. Pertimbangkan query berikut

DECLARE @Course_ID INT = 2

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

Hasilnya itu

Pernyataan IF dengan No Else

Pernyataan IF…Else Bersarang

Tidak seperti lainnya bahasa pemrograman, Anda tidak dapat menambahkan pernyataan ELSE IF dalam kondisi IF ELSE di SQL. Inilah sebabnya Anda dapat menyarangkan IF ELSE dalam pernyataan kueri SQL. Hal ini ditunjukkan di bawah ini:

 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;
  • Dalam contoh ini, kode akan mencetak di bawah umur jika nilai @age di bawah 18.
  • Jika tidak, bagian ELSE akan dieksekusi. Bagian ElSE memiliki IF…ELSE yang bertumpuk.
  • Jika nilai @age di bawah 50, ini akan mencetak Anda berada di bawah 50. Jika tidak satu pun dari kondisi ini yang benar, kode akan mencetak Senior.

Pernyataan IF…Else Bersarang

Kesimpulan

  • Variabel adalah objek yang bertindak sebagai pengganti.
  • Blok pernyataan harus dimulai dengan kata kunci BEGIN dan ditutup dengan kata kunci END.
  • Else bersifat opsional untuk digunakan dalam pernyataan IF… ELSE
  • Menyatukan kondisi SQL IF ELSE dalam pernyataan IF…ELSE lainnya juga dimungkinkan.