- WHERE ifadesi ile verileri sınırlamak
- Karşılaştırma operatörleri
- BETWEEN operatörü
- IN operatörü
- LIKE operatörü
- IS NULL operatörü
- Lojik operatörler
- AND operatörü
- OR operatörü
- NOT operatörü
- ORDER BY operatörü
WHERE
100 nolu müdürlükteki personellerin bilgilerini listeleyelim
SELECT employee_id, first_name,last_name, job_id, department_id FROM hr.employees WHERE department_i=100;
OPERATÖRLER
ÖR: Maaşı 3000 den küçük yada eşit olan personelleri listeleyelim
SELECT first_name,last_name, salary FROM hr.employees WHERE salary <= 3000 ;
BETWEEN OPERATÖRÜ
Maaşı 2500 ile 3500 arasında olan personelleri listeleyelim
ÖR: SELECT first_name,last_name, salary FROM hr.employees WHERE salary BETWEEN 2500 AND 3500;
IN OPERATÖRÜ
ÖRNEK: 100,101 ve 201 id li müdürlere bağlı olan personelleri listeleyen sql kodu;
SELECT employee_id, first_name,last_name, salary, manager_id FROM hr.employees WHERE manager_id IN (100, 101, 201)
LIKE OPERATÖRÜ
Değişken kullanılarak yapılan aramaları yerine getirmek için LIKE operatörü kullanılır. Arama koşulları literal karakter ya da numaralar içerebilir.
- % : sıfır yada daha fazla karakteri belirtir.
- _ : sadece bir karakter belirtir.
ÖRNEK: Adının içinde e karakteri geçen personelleri listeleyen SQL cümlesi;
SELECT first_name,last_name FROM hr.employees WHERE first_name LIKE ‘%e%’
ÖRNEK: Soyadının 2.karakteri a olan personelleri listeleyelim;
SELECT first_name,last_name FROM hr.employees WHERE last_name LIKE ‘_a%’
IS NULL OPERATÖRÜ
ÖRNEK: Müdürü olan Personelleri getiren SQL;
SELECT first_name,last_name, manager_id FROM hr.employees WHERE manager_id IS not NULL;
LOGIC OPERATORLER
AND OPERATÖRÜ
ÖRNEK: Maaşı 7000 den büyük eşit olan ve adının içinde A karakteri geçen personelleri listeleyelim
SELECT employee_id, first_name,last_name, salary FROM hr.employees WHERE salary >= 7000 and first_name LIKE ‘%A%’ ;
OR OPERATÖRÜ
ÖRNEK Maaşı 7000 den büyük eşit olan veya adının içinde A karakteri geçen personelleri listeleyelim
SELECT employee_id, first_name,last_name, salary FROM hr.employees WHERE salary >= 7000 OR first_name LIKE ‘%A%’;
NOT OPERATÖRÜ
ÖRNEK: IT_PROG,ST_CLERK yada SA_REP pozisyonunda çalışmayan personelleri listeleyelim
SELECT first_name,last_name FROM hr.employees WHERE job_id NOT IN (‘IT_PROG’, ‘ST_CLERK’, ‘SA_REP’);
ÖRNEK : Adının içinde e karakteri bulunmayan personelleri listeleyelim
SELECT first_name,last_name, job_id FROM hr.employees WHERE first_name NOT LIKE ‘%e%’ ;
OPERATÖR ÜSTÜNLÜK SIRASI
(Bu sıralama parantezler kullanılarak değiştirilebilir.)
ORDER BY OPERATÖRÜ
- Order By operatörü ile select sonucu gelen veriler sıralanır.
- ASC : Artan yönde sıralama. Default olarak bu durum geçerlidir, yazılmasa da olur.
- DESC : Azalan yönde sıralama yapar.
- Select ifadesinden sonra yazılır.
DEĞİŞKEN ATAMA
ÖRNEK : 100 nolu departmanda bulunan personelleri listeleyelim fakat sql yürütme anında şart kısmına değişken vererek bu işlemi yaparsak;
SELECT employee_id, last_name, salary, department_id FROM hr.employees WHERE department_id = °isken_atanır ;
Bir yanıt yazın