CASE
MySQL'de bazı yerlerde (örneğin select işleminde seçilecek değer için) koşul kullanılabilir. Case deyimini bu işlem için kullanabiliriz.
Kullanım Şekli:
Örnekle açıklayalım:
Öğrenci Tablosu
ad
|
soyad
|
bolumId
|
bolumAdi
|
Mehmet
|
Durmaz
|
1
|
Bilgisayar Öğretmenliği
|
Ahmet
|
Yıkılmaz
|
1
|
Bilgisayar Öğretmenliği
|
Ayşe
|
NULL
|
2
|
Fizik Öğretmenliği
|
Melek
|
Tunc
|
2
|
Fizik Öğretmenliği
|
Seher
|
Ay
|
5
|
Biyokimya Mühendisliği
|
Şakir
|
Yok
|
4
|
Kimya Öğretmenliği
|
Abbas
|
Kırmızı
|
3
|
Fizik Bölümü
|
Ayşe
|
Pekmez
|
2
|
Fizik Öğretmenliği
|
Mert
|
Günaydın
|
5
|
Biyokimya Mühendisliği
|
Bu örneğimizde bolumıd'si değerine göre bölüm adlarını yazdırıcağız.
//Ekrana gelecek sutunlerı belirledik
SELECT ad,soyad,bolumId,
case
bolumId
//bolumId si değerine göre gelecek yeni değerleri belirledik
When
'1'
then
'Bilgisayar Öğretmenliği'
When
'2'
then
'Fizik Öğretmenliği'
When
'3'
then
'Fizik Bölümü'
When
'4'
then
'Kimya Öğretmenliği'
When
'5'
then
'Biyokimya Mühendisliği'
//yeni değerlerin sütun ismini bolumAdi olarak değiştirdik
end
as
bolumAdi from ogrenci
IF-ELSE
If kullanımı basit bir koşul ifadesidir.
Kullanım Şekli:
SELECT
IF 'kosul_ifadesi' THEN 'komutlar1'
ELSEIF 'kosul_ifadesi' THEN 'komutlar2'
ELSE 'komutlar3'
END IF
FROM tablo
Örnekle açıklayalım;
ad
|
soyad
|
notu
|
Mehmet
|
Durmaz
|
45
|
Ahmet
|
Yıkılmaz
|
58
|
Ayşe
|
NULL
|
65
|
Melek
|
Tunc
|
18
|
Seher
|
Ay
|
92
|
Şakir
|
Yok
|
85
|
Abbas
|
Kırmızı
|
62
|
Ayşe
|
Pekmez
|
55
|
Mert
|
Günaydın
|
38
|
Bu örneğimizde notu 60 dan yüksek olan öğrencilere geçti yazacak düşüklere kaldı.
- SELECT ad,soyad
- IF(notu>=60,"GECTİ ","KALDI")
- AS sonuc
- FROM ogrenci
,
IFNULL
Ifnull kullanımı içinde verilen iki değer için eğer ilk değer boş(null) değilse sonuca ilk değeri, boş ise sonuca ikinci değeri döndürür. Ifnull sonuca bir string yada integer değerlerini döndürür.
Kullanım Şekli:
1
2
3
4
5
|
SELECT IFNULL(1,0); -- returns 1
SELECT IFNULL('',1); -- returns ''
SELECT IFNULL(NULL,'IFNULL function'); --
|
Örnekler;
SELECT IFNULL(1,2);
SONUÇ:1
- SELECT IFNULL(NULL,2);
SONUÇ:2
NULLIF
Nullif koşul ifadesinde eğer içinde verilen iki değer eşit ise boş(null) değerini değil ise ilk değeri değer sütunumuza döndürecektir.
Kullanım Şekli:
NULLIF(ifade1,
ifade2);
Örnekler:
- SELECT NULLIF(2,2);
SONUÇ:NULL
SELECT NULLIF(2,3);
SONUÇ:2
Hiç yorum yok:
Yorum Gönder