Bu yazıda, tek bir tablodan veri sorgulamak için Oracle SELECT ifadesinin nasıl kullanılacağını öğreneceksiniz.
Aşağıdaki SQL cümleleri ORACLE Örnek Veritabanı üzerinde yapılmıştır.
Daha fazla Oracle konusu için Oracle Kategorisine bakabilirsiniz.
Oracle SQL Soruları ve Cevapları
Soru: Çalışanlar tablosundaki tüm çalışanları getiren sorguyu yazınız.
1 2 3 | SELECT * FROM employees; |
Soru: Tüm çalışanları Ad ve Soyadı birleştirip getiren SQL cümlesini yazınız.
1 2 3 | SELECT FIRST_NAME || ' ' || LAST_NAME AS ADSOYAD FROM employees; |
Soru: Adı ‘A’ harfi ile başlayan çalışanları getiren SQL cümlesini yazınız.
1 2 3 4 | SELECT * FROM employees WHERE FIRST_NAME LIKE 'A%'; |
Soru: Çalışanlar tablosundaki çalışan numarası 101,108,111,120,129 olan çalışanları getiren SQL cümlesini yazınız.
1 2 3 4 | SELECT * FROM employees WHERE employee_id IN (101,108,111,120,129) |
Soru: Soyadı ‘A’ yada ‘K’ ile başlayan çalışanları getiren SQL cümlesini yazınız.
1 2 3 4 | SELECT * FROM employees WHERE LAST_NAME LIKE 'A%' OR LAST_NAME LIKE 'D%' |
Soru: Çalışanları Adına göre artan, adı aynı olanları da Soyadına göre azalan olarak sıralayınız.
1 2 3 4 | SELECT * FROM employees ORDER BY FIRST_NAME, LAST_NAME DESC; |
Soru: Departman numarası 50 ile 90 arasında olan çalışanları getiren SQL cümlesini yazınız.
1 2 3 4 | SELECT * FROM employees WHERE DEPARTMENT_ID BETWEEN 50 AND 90; |
Soru: Kendisine bağlı çalışan sayısı (manger) başına düşen ortalama çalışan sayısından fazla olan müdürleri küçükten büyüğe sıralayan SQL cümlesini yazınız.
1 2 3 4 5 6 7 | /*Manager başına düşün çalışan sayıyısı ortalama çalışan sayısınından fazla olan managerleri getiren SQL sorgusu*/ SELECT manager_id, COUNT(employee_id) FROM employees GROUP BY manager_id HAVING COUNT(employee_id) > ((SELECT (SELECT COUNT(*) FROM employees) / (SELECT COUNT(DISTINCT(manager_id)) FROM employees) FROM DUAL)) ORDER BY COUNT(employee_id) |
Soru: Çalışan kıdemlerini yıl, yılı aynı olanları da ay itibariyle büyükten küçüğe sıralayan SQL cümlesini yazınız. (Not: Kıdemi fazla olanının giriş tarihi data küçüktür.)
1 2 3 4 | SELECT * FROM employees ORDER BY EXTRACT(year FROM hire_date), EXTRACT(month FROM hire_date) |
Soru: Aynı harfle başlayan ülkeleri gruplayıp ilk harflerine göre fazladan aza doğru sıralayın.
1 2 3 4 5 | SELECT COUNT(*) AS ULKE_SAYISI, SUBSTR(COUNTRY_ID,1,1) AS ILK_HARF FROM countries GROUP BY SUBSTR(COUNTRY_ID,1,1) ORDER BY ULKE_SAYISI DESC; |
Soru: En fazla çalışanı olan ilk 4 müdürü çalışan sayısına göre büyükten küçüğe sıralayan SQL cümlesini yazınız.
1 2 3 4 5 6 | SELECT * FROM ( SELECT manager_id,COUNT(*) FROM employees GROUP BY manager_id ORDER BY COUNT(manager_id) DESC) WHERE ROWNUM <= 4; |
Yorum Yap