1. Retrieving Data Using the SQL SELECT Statement
Uygulamaları çalıştırmak için SQLDeveloper ve SQLPlus uygulamarından faydalanabilirsiniz. Ben örnekleri sqldeveloper üzerinden anlatacağım.HR kulanıcı bağlantısı kuramıyor ya da sysdba olarak bağlantı kuramadıysanız Oracle SQL HR User Oluşturma bakmakta fayda var.
Buradan sqldeveloper’ı indirebilirsiniz. Sql plus oracle xe içinde gelmektedir.
İlk olarak SELECT Statement’ı üzerinde duracağız ve neler yapabileceğimize detaylıca bakacağız.
SELECT Statement’ı ile Kolon Bazında Görüntüleme ( Projection): Örneğin employees adında bir tablomuz olduğunu varsayalım. Kolonları last_name, salary, manager_id gibi olduğunu düşünelim. Biz bunlardan istediklerimizi listelersek kolon bazında görüntüleme yapmış oluruz.
İlerleyen aşamalarda maaşı belli bir miktardan yüksek olanları ya da istediğimiz departmanda çalışanları listelemek isteyeceğiz. O zaman da kullanacağımız Satır Bazında Görüntüleme olacaktır.
Raporda farklı tablolardan sorgu istediğimiz zaman JOIN Statement’ı kullanılacaktır. İlerleyen konularda bu detaylandırılacaktır.
Şimdi basitçe SELECT Statement’ı nasıl yazılır ona bakalım.
SELECT * |{[DISTINCT] column|expression [alias],...} FROM table;
- DISTINCT: ifadesi tekrarları engeller ve kolon adının önüne yazılır.
- alias: Kolonların çıktısında yer almasını istediğimiz isimlerdir.
Sorguları çalıştırmak için Sql developer’da
- Ctrl+Enter
- F9
- yada Execute Statement ( Yeşil İşaret)
bize yardımcı olacaktır. Satır sonunda olmanız ve çalıştırmak istediğiniz satırları seçmiş olmanız gerekmektedir.
SELECT * FROM employees;
Sorgusunun sonucu şekildeki gibi bütün kolonların listelenmiş halidir.
Bu sorguyu istediğimiz şekilde daha özel hale getirebiliriz.
SELECT department_id, last_name FROM employees;
Aritmetik İfadeler
Kolonlara Toplama (+), Çıkarma (-), Çarpma (*), Bölme (/) işlemleri yapılabilir.
SELECT last_name, salary, salary + 222 FROM employees;
SELECT last_name, salary, 5*salary+222 FROM employees;
SELECT last_name, salary, 5*(salary+222) FROM employees;
İşlem önceliğini parantez ‘ ( ) ‘ kullanarak yapabiliriz.
- Eğer null değere sahip kolonlar için işlem yapıyorsak sonuç olarak null döndürecektir. İlerleyen konularda bunu engellemek için kullandığımız fonksiyonlara değineceğiz.
Kolonları İsimlendirme
Raporları görsel olarak iyileştirmek için alias dediğimiz isimlendirme yöntemine değinelim.
SELECT last_name AS İsim, commission_pct Komisyon FROM employees;
SELECT last_name "isim" , salary*12 "Yıllık Maaş" FROM employees;
Birleştirme Operatörü
(||) kullanarak birleştirmek istediğimiz kolonları birleştirebiliriz.
SELECT last_name || job_id AS "Çalışan" FROM employees;
Görünümü daha da iyileştirmek için iki kolon arasına açıklayıcı ifadeler koyabiliriz.
SELECT last_name ||' is a '||job_id AS "Çalışan" FROM employees;
Tekrarlayan Satırlar
Normal olarak sorguladığımızda çıkan satır 107 adet.
SELECT manager_id FROM employees;
SELECT DISTINCT manager_id FROM employees;