You are on page 1of 3

ibrisim

Oracle Database Blog

WHERE clause’da CASE kullanımı


Selamlar,

where clause’da case yapısının nasıl kullanılabileceğini anlatmaya çalışıcam bu yazıda.

case yapısını select statement’ındaki kullanımı oldukça kolay fakat case’i where koşulunun içinde de
kullanmak mümkün. Örnek verecek olursak;

1. örnek

İlk başta basit bir örnek ile başlayalım.

SELECT e.first_name, e.salary


FROM HR.EMPLOYEES e
WHERE CASE WHEN e.salary > 5000 THEN 1
WHEN e.salary < 3000 THEN 2
END = 2;

Gizlilik ve Çerezler: Bu sitede çerez kullanılmaktadır. Bu web sitesini kullanmaya devam ederek bunların kullanımını
kabul edersiniz.
Çerezlerin nasıl kontrol edileceği dahil, daha fazla bilgi edinmek için buraya bakın: Çerez Politikası
2. Örnek

Kapat ve kabul et
Bu örneğimizde 20, 30 ve 50 id’li departmanlarda çalışanlara farklı zam uygulanıyor olsun ve zamlı maaşları
5000’den fazla olan çalışanları seçelim.

SELECT e.first_name, e.department_id, e.salary


FROM HR.EMPLOYEES e
WHERE CASE WHEN e.department_id = 20 THEN e.salary * 1.10
WHEN e.department_id = 30 THEN e.salary * 1.15
WHEN e.department_id = 50 THEN e.salary * 1.20
END > 5000;

3. örnek

20,30 ve 50 id’li departmanlarda çalışanlara farklı zam uygulansın ancak bu sefer çalışanların işe giriş
tarihleri de işin içine girsin. Örneğin department ID = 20 için 2006, department id 30 için 2007 ve
department id 50 için 2008 yılından sonra işe giren çalışanlara zam yapılıyor. Zamlı maaşı 3000’den yüksek
olan çalışanları seçelim.

SELECT e.first_name, e.hire_date, e.department_id, e.salary


FROM HR.EMPLOYEES e
WHERE CASE WHEN e.department_id = 20
AND e.hire_date > to_date('01.01.2006', 'dd.mm.yyyy')
THEN e.salary * 1.10
WHEN e.department_id = 30
AND e.hire_date > to_date('01.01.2007', 'dd.mm.yyyy')
THEN e.salary * 1.15
WHEN e.department_id = 50
AND e.hire_date > to_date('01.01.2008', 'dd.mm.yyyy')
THEN e.salary * 1.20
END > 3000;
Gizlilik ve Çerezler: Bu sitede çerez kullanılmaktadır. Bu web sitesini kullanmaya devam ederek bunların kullanımını
kabul edersiniz.
Çerezlerin nasıl kontrol edileceği dahil, daha fazla bilgi edinmek için buraya bakın: Çerez Politikası

Kapat ve kabul et
Kolay gelsin.

PL/SQL içinde case in where statement, case kullanımı, pl/sql, where'den sonra case kullanımı etiketleriyle
Mart 29, 2014 [https://ibrisim.wordpress.com/2014/03/29/where-clauseda-case-kullanimi/] tarihinde
tarafından gönderildi.

Gizlilik ve Çerezler: Bu sitede çerez kullanılmaktadır. Bu web sitesini kullanmaya devam ederek bunların kullanımını
kabul edersiniz.
Çerezlerin nasıl kontrol edileceği dahil, daha fazla bilgi edinmek için buraya bakın: Çerez Politikası

Kapat ve kabul et

You might also like