ORDER BY İfadesi

select * from employees
order by hire_date; --Default olarak order by ascending (artan) olarak kullanılır.

order by hire_date ile order by hire_date asc aynı demektir yazılmak zorunda değil ancak yazılması okunurluğu arttırır.
order by hire_date descending (azalan) olarak kullanılır.

Default olarak ascending olan sıralama işleminde null değerler sonda yer alır, descending olan sıralama işleminde başta yer alır.
order by commission_pct sorgusunda asc olduğu için null olanlar sonda gelir.
order by commission_pct desc sorgusunda des olduğu için null olanlar başta gelir.

asc için null sonda olduğu halde biz başta gelmesini istiyorsak nulls first kullanmalıyız.
order by commission_pct nulls first;

order by içinde alias kolon adı kullanılabilir.
select first_name fname
from employees
order by fname;

Bir expression (ifade)'ye göre order by kullanılabilir.
select employee_id, salary+100
from employees
order by salary+100;

mantıksal olarak order by içinde olan kolon select içinde de olmalıdır ama olmak zorunda değil.
select içinde olmayan kolona göre de order by yapabiliriz ama bu çok da mantıksal olmaz.

order by department_id, first_name --birden fazla kolona göre order by kullanılır
order by department_id asc, first_name desc --kolonlara göre farklı sıralama kullanılabilir.

order by 1,3; --ilk kolona ve içinci kolona göre order by yapar



Share:
spacer

Hiç yorum yok:

Yorum Gönder