Kategoriler
ORACLE

Oracle Database 11g – SQL Temelleri I || SELECT Statement

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.

Capabilities of SQL SELECT Statements

 

İ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) execute

 

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.

select_cikti

Bu sorguyu istediğimiz şekilde daha özel hale getirebiliriz.

SELECT department_id, last_name
FROM employees;

select_cikti

Aritmetik İfadeler

Kolonlara Toplama (+), Çıkarma (-), Çarpma (*), Bölme (/) işlemleri yapılabilir.

SELECT last_name, salary, salary + 222
FROM employees;

çarpma_öncelik

SELECT last_name, salary, 5*salary+222
FROM employees;

CropperCapture[31]

SELECT last_name, salary, 5*(salary+222)
FROM employees;

çarpma_öncelik

İş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;

aliasTürkçe karakter sıkıntısı yaşamadan isimlendirme yapabiliriz. As yazarak ya da yazmadan tanımlama yapabiliriz. Yada çift tırnak ” içinde tanımlamalar yapabiliriz.

SELECT last_name "isim" , salary*12 "Yıllık Maaş"
FROM employees;

tırnak kullanımı

Birleştirme Operatörü

(||) kullanarak birleştirmek istediğimiz kolonları birleştirebiliriz.

SELECT last_name || job_id AS "Çalışan"
FROM employees;

birleştirme

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;

açıklayıcı ifadeli birleştirme

Tekrarlayan Satırlar

Normal olarak sorguladığımızda çıkan satır 107 adet.

SELECT manager_id 
FROM employees;

tekrar eden

SELECT DISTINCT manager_id 
FROM employees;

tekrarsız distinctEğer DISTINCT ifadesini kullanırsak satır sayımız tekrarları çıkarılmış olarak 19’a düşüyor.

 

 

 

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir