SQL VERİLERİ SINIRLAMA VE SIRALAMA

  • 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;

2018-06-29_134420

OPERATÖRLER

karsilastirma-operatörleri
ÖR: Maaşı 3000 den küçük yada eşit olan personelleri listeleyelim

SELECT first_name,last_name, salary FROM hr.employees WHERE salary <= 3000 ;

2018-06-29_135412

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;

between

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%’

like

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

logic operator

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 

operatör sıralaması

(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 = &degisken_atanır ;

değişken atama

değişken atama2