pl/sql de order by kullanımı
Merhaba
Bu eğitim yazımızda pl/sql de order by kullanımına bakcağız. Daha önceki eğitim yazılarımızda kullandığımız sql ile bu işlemi anlatacağım. Bunun için kullanacağım sql pl/sql de join yapısı ve kullanımı yazımda kullandığım sql olacak. Yazdığımız sql içinde neden order by kullanırız ve bu ne işe yarar biraz bundan bahsedelim. Order by sıralama için kullanılır ve yazdığımız sorgu sonucunun nasıl sıralı olacağını ayarlamamıza olanak verir.
Örnek olarak aşağıdaki sorguyu çalıştırıp sonucuna bakalım ve daha sonra aynı sorguyu order by ifadesi ile yeniden düzenleyip sonucumuzu kontrol edelim.
select e.first_name adi, e.last_name soyadi, e.salary maas, j.job_title meslek from hr.employees e, hr.jobs j where e.salary < 3000 and e.job_id in ('PU_CLERK', 'ST_CLERK') and j.job_id = e.job_id;
Bu sorgu çalıştığında sonucu aşağıdaki gibi olacaktır.
ADI | SOYADI | MAAS | MESLEK |
---|---|---|---|
Shelli | Baida | 2900 | Purchasing Clerk |
Sigal | Tobias | 2800 | Purchasing Clerk |
Guy | Himuro | 2600 | Purchasing Clerk |
Karen | Colmenares | 2500 | Purchasing Clerk |
Irene | Mikkilineni | 2700 | Stock Clerk |
James | Landry | 2400 | Stock Clerk |
Steven | Markle | 2200 | Stock Clerk |
Mozhe | Atkinson | 2800 | Stock Clerk |
James | Marlow | 2500 | Stock Clerk |
TJ | Olson | 2100 | Stock Clerk |
Michael | Rogers | 2900 | Stock Clerk |
Ki | Gee | 2400 | Stock Clerk |
Hazel | Philtanker | 2200 | Stock Clerk |
John | Seo | 2700 | Stock Clerk |
Joshua | Patel | 2500 | Stock Clerk |
Randall | Matos | 2600 | Stock Clerk |
Peter | Vargas | 2500 | Stock Clerk |
Sorgu sonucunda görüldüğü gibi rasgele bir sıra ile sonuçları gördük. Order by ile maaşı en küçükten en büyüğe, adları a’dan z’ye ya da tam tersi olarak sıralayabiliriz. Order by ile kullandığımız iki yardımcı komut daha var. Bunlar asc ve desc komutlarıdır. Asc ile a’dan z’ye yani küçükten büyüğe, Desc ile z’den a’ya yani büyükten küçüğe sıralama yapılır. Şimdi sorgu sonucumuzu maaş tutarı küçükten büyüğe olacak şekilde sıralayalım ve sorgumuzda order by ifadesini kullanalım.
select e.first_name adi, e.last_name soyadi, e.salary maas, j.job_title meslek from hr.employees e, hr.jobs j where e.salary < 3000 and e.job_id in ('PU_CLERK', 'ST_CLERK') and j.job_id = e.job_id order by e.salary asc;
Sorgumuz hazır olduğuna göre şimdi de sonuçlarına bakalım.
ADI | SOYADI | MAAS | MESLEK |
---|---|---|---|
TJ | Olson | 2100 | Stock Clerk |
Hazel | Philtanker | 2200 | Stock Clerk |
Steven | Markle | 2200 | Stock Clerk |
James | Landry | 2400 | Stock Clerk |
Ki | Gee | 2400 | Stock Clerk |
Karen | Colmenares | 2500 | Purchasing Clerk |
James | Marlow | 2500 | Stock Clerk |
Peter | Vargas | 2500 | Stock Clerk |
Joshua | Patel | 2500 | Stock Clerk |
Guy | Himuro | 2600 | Purchasing Clerk |
Randall | Matos | 2600 | Stock Clerk |
Irene | Mikkilineni | 2700 | Stock Clerk |
John | Seo | 2700 | Stock Clerk |
Mozhe | Atkinson | 2800 | Stock Clerk |
Sigal | Tobias | 2800 | Purchasing Clerk |
Shelli | Baida | 2900 | Purchasing Clerk |
Michael | Rogers | 2900 | Stock Clerk |
Sorgu sonuçlarında da olduğu gibi sizde istediğiniz şekilde sorgu sonuçlarınızı order by ifadesi ve asc,desc yöntemleriyle sıralayabilirsiniz.
Kolay gelsin.