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:
- 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'
Kondisi: SALAH
IF (1=2) PRINT 'IF STATEMENT: CONDITION IS TRUE' ELSE PRINT 'ELSE STATEMENT: CONDITION IS FALSE'
Anggapan: Asumsikan Anda memiliki tabel sebagai 'Guru99' dengan dua kolom dan empat baris seperti yang ditampilkan di bawah ini:
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
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 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
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
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:
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…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.
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.