Hoş Geldin, Mühendis!

Tüm mühendislerin ve mühendis adaylarının yer aldığı forum sayfamıza kayıt olmalısınız. Kayıt olduktan sonra tüm ders notlarına, teknik dokümanlara erişim sağlayabilecek, sorularınızı sorup cevaplar verebileceksiniz. Sitemiz tamamiyle ücretsiz olmakla birlikte Mühendis Puanı sistemi uygulamaktadır.

Bilgi paylaştıkça çoğalır.

Premium Abonelik 📢

Premium abonelik ile sitemizi reklamsız gezebilir, dosyaları sınırsızca indirebilirsiniz.

Daha Fazlası

[Muhendisiz.NET] Tekrar Sizlerleyiz! 🎭

Mühendisiz.NET sitesi forum ve blog sayfası olarak tekrar yayın hayatına başladı. 🤩 Sizlerde forum sayfamıza üye olabilir ve mühendis topluluğumuza katılabilirsiniz.

Daha Fazlası

Mühendis Puanı Sistemi🏆

Bilgi paylaştıkça çoğalır felsefesini benimsemiş olmamız nedeniyle Mühendis Puanı sistemini uygulamaya aldık. Dökümanları indirebilmek için bazı paylaşımlarda bulunmalısınız. 📨

Daha Fazlası
  • Dosya indirebilmek için 2 Mühendis Puanına ihtiyacınız var. Konuya yorum atarak 1 MP Not paylaşarak 6 MP kazanırsınız.
    Bilgi Paylaştıkça Çoğalır. (Mühendislik Puanı (MP) Nedir?)
  • Mühendis Puanı kazanmaya vakti olmayanlar için ücretli premium üyelik sistemi aktif edilmiştir.
    (Premium Üyelik SATIN AL)

MySQL IF Kullanımı

turkmedia

Moderatör
Katılım
8 Ara 2022
Mesajlar
760
Mühendis Puanı
1,612
Programlama dillerinde kullanılan if ifadesi MySQL içerisinde belirli bir koşula veya değere göre SQL komutlarını çalıştırmayı sağlar.

MySQL IF fonksiyonu​

MySQL if fonksiyonu ve if deyimi olmak üzere iki if ifadesini kullanmayı sağlar.

MySQL if fonksiyonu SQL komutları içerisinde kullanılır. Programlama dillerindeki ternary operator ifadesine benzer.

IF(KOŞUL, DOĞRU, YANLIŞ)
MySQL IF fonksiyonunun ilk parametresine yazılan koşul doğruysa DOĞRU parametresi, yanlışsa YANLIŞ parametresi çalıştırır.

MySQL IF fonksiyonunun kullanımı;

SELECT IF(5 > 6, "5 büyük", "6 büyük") AS sonuc;
IF fonksiyonu ayrıca tablo sorgularında da kullanılır.

SELECT *, IF( urun_fiyat > 30, "PAHALI", "UYGUN") AS sonuc FROM urunler;
Sorguda urunler tablosu urun_fiyat sütunundaki fiyat 30’dan büyükse PAHALI küçükse UYGUN değerini sonuc sütununa yazdıracaktır.

MySQL IF fonksiyonu içerisinde SQL fonksiyonları da kullanılabilir.
SELECT *, IF( LENGTH(urun_adi) > 10, "UZUN", "KISA") AS sonuc FROM urunler;
Sorguda urunler tablosu urun_adi sütunundaki ürün adı uzunluğu 10 karakterden büyükse UZUN küçükse KISA değerini sonuc sütununa yazacaktır.

MySQL IF-ELSEIF-ELSE deyimi​

içerisinde değerleri kontrol etmek için if, elseif ve else ifadelerini kullanmayı sağlar.

MySQL if kullanımı;

IF KOŞUL THEN
-- komutlar
END IF;

MySQL elseif kullanımı;

IF KOŞUL THEN
-- komutlar
ELSEIF KOŞUL2 THEN
-- komutlar2
END IF;

IF içerisindeki KOŞUL yanlışsa VE ELSEIF içerisindeki KOŞUL2 doğruysa komutlar2 alanına yazılan komutlar çalıştırılır.

MySQL else kullanımı;

IF KOŞUL THEN
-- komutlar
ELSE
-- komutlar
END IF;

veya

IF KOŞUL THEN
-- komutlar
ELSEIF KOŞUL2 THEN
-- komutlar2
...
ELSE
-- komutlar3
END IF;
Tüm IF ve ELSEIF koşulları yanlışsa ELSE alanına yazılan komutlar3 çalıştırılır.

Saklı yordamlar içerisinde if, elseif ve else kullanımı ile ilgili örnek aşağıdadır.

DELIMITER //
CREATE PROCEDURE AdiSoyadi(IN sayi INT, OUT durum VARCHAR(50))
BEGIN

IF sayi = 1 THEN
SET durum = 'Yusuf';
ELSEIF sayi = 2 THEN
SET durum = 'SEZER';
ELSEIF sayi = 3 THEN
SET durum = 'Yusuf SEZER';
ELSE
SET durum = 'Yusuf Sefa SEZER';
END IF;

END//
DELIMITER ;
Örnekte AdiSoyadi saklı yordamı sayi parametresine göre durum parametresine dönüş değerleri yazmaktadır.

Parametre olarak gönderilen sayi parametresi değeri 1 ise durum parametresi Yusuf, 2 ise SEZER, 3 ise Yusuf SEZER hiçbiri değilse Yusuf Sefa SEZER değerini alır.

Saklı yordamı çalıştıralım.

SET @sonuc = 0;
CALL AdiSoyadi(99, @sonuc);
SELECT @sonuc;
Saklı yordam çalıştırıldığında Yusuf Sefa SEZER değerini @sonuc değişkenine atayacaktır.

Hayırlı günler dilerim.
 

Son kaynaklar