TÜM SÜTUNLARIN SEÇİLMESİ
SELECT * FROM departments;
Departments isminde bir tablomuzun olduğunu varsayalım.Bu tablodaki tüm sütunları seçmek için yukarıdaki ifadeyi kullanırız.
BELİRLİ SÜTUNLARIN SEÇİLMESİ
SELECT department_id, location_id
FROM departments;
Departments tablomuzdaki sütunlardan department_id ve location_id sütunlarını seçmek için yukarıdaki ifadeyi kullanırız.
ARİTMETİK OPERATÖRLERİN KULLANIMI
SELECT department_id,location_id,
location_id+200 FROM departments;
SELECT department_id,location_id,
location_id+200 FROM departments;
Çarpma ve bölmenin toplama ve çıkarmaya göre işlem önceliği vardır.
SELECT department_id,location_id,
2*(department_id+5) FROM departments;
Parantez kullanımında öncelikli işlem parantez içinde yapılır.
SELECT department_id,location_id,
2*(department_id+5) FROM departments;
Parantez kullanımında öncelikli işlem parantez içinde yapılır.
NULL İLE ARİTMETİK İŞLEMLER
Null, bir değer değildir. Null, "0 (Sıfır)" da değildir çünkü "0 (Sıfır)" da bir değerdir. Null, space ile yaptığımız boşluk da değildir. Null girilmemiş bir değer , hiçliktir.
Aşağıdaki tabloda null veriler yer almakta,
SELECT last_name, job_id, salary,
commission_pct FROM employees;
SELECT last_name,12*salary*commission_pct
FROM employees;
Yukarıdaki tabloda da görüldüğü üzere null verilerde yapılan işlemler null olarak değerlendirilir.
SÜTUNLARA YENİ İSİMLER VERİLMESİ
SELECT last_name AS lsn, commission_pct co FROM employees;
Yukarıdaki ifadeyle last_name lsn olarak, commission_pct co olarak
değiştirildi.
Boşluk , küçük büyük harf gibi özel isimler kullanılacaksa tırnak içinde yazmamız gerekir.Aşağıdaki ifade de gösterilmiştir.
Boşluk , küçük büyük harf gibi özel isimler kullanılacaksa tırnak içinde yazmamız gerekir.Aşağıdaki ifade de gösterilmiştir.
SELECT last_name "Name",salary "Annual Salary" FROM employees;
SÜTUNLARIN BİRLEŞTİRİLMESİ
SELECT first_name,email,salary
FROM employees;
SELECT first_name||email||salary "birleşim" FROM employees;
Sütun birleşiminin farklı bir örneği aşağıdaki gibi yapılabilir.
SELECT first_name|| ' '||salary "birleşim" FROM hr.employees;
SELECT DISTINCT musteri_no
FROM musteri;
Yukarıdaki ifade musteri tablosundaki musteri_no sütununun tüm satırlarındaki aynı değerleri distinct kelimesiyle tek satırda yazmamızı sağlar.
WHERE KELİMESİYLE SINIRLAMALAR
Bir sayı değerine göre sınırlama.
SELECT employee_id, last_name, job_id, department_id FROM employees
WHERE department_id = 90 ;
Yukarıdaki ifade de employees tablomuz da ki employee_id, last_name, job_id,
department_id sütunlarını çağırdık.Where kelimesiyle de bir sınırlama yaptık ve department_id sütununda 90 verisi olan satırları çağırmış olduk.
Karaktere göre sınırlama.
SELECT employee_id, last_name, job_id, department_id FROM employees
WHERE last_name = 'King' ;
Bu ifade de last_name sütununda King verisi olan satırları çağırdık.Burada dikkat etmemiz gereken küçük büyük harf duyarlılığı. KİNG , king KiNg vb. yazarsak istediğimiz tabloyu elde EDEMEYİZ.Tarih verileri de bu şekilde sınırlandırılabilir.
KARŞILAŞTIRMA KOŞULLARI
Karşılaştırma koşullarını kullanalım..
SELECT last_name, salary
department_id sütunlarını çağırdık.Where kelimesiyle de bir sınırlama yaptık ve department_id sütununda 90 verisi olan satırları çağırmış olduk.
Karaktere göre sınırlama.
SELECT employee_id, last_name, job_id, department_id FROM employees
WHERE last_name = 'King' ;
Bu ifade de last_name sütununda King verisi olan satırları çağırdık.Burada dikkat etmemiz gereken küçük büyük harf duyarlılığı. KİNG , king KiNg vb. yazarsak istediğimiz tabloyu elde EDEMEYİZ.Tarih verileri de bu şekilde sınırlandırılabilir.
KARŞILAŞTIRMA KOŞULLARI
- = eşittir
- > büyüktür
- >= büyüktür veya eşittir
- < küçüktür
- <= küçüktür veya eşittir
- <> eşit değildir
- BETWEEN ...AND...
- IN(set)
- LIKE
- IS NULL
- AND
- OR
- NOT
Karşılaştırma koşullarını kullanalım..
- Aşağıdaki ifade de Salary 4400 e eşit veya küçükse gösterir.
SELECT last_name, salary
FROM employees WHERE salary <= 4400;
Select * from hr.employees where salary between 2600 and 4400;
Select * from hr.employees where salary in(4400,2600,8300);
* Küçük harf ve büyük harfe dikkat etmek gerekir.
-->'%' işareti solda olsaydı ('%o_') sağdan sola doğru ikinci harfi 'o' olanları gösterirdi.
- Aşağıdaki ifade de salary 2600 ile 4400 arasında ise gösterir.(2600 ve 4400 dahil)
Select * from hr.employees where salary between 2600 and 4400;
İsimler için de BETWEEN kullanılabilir. Aşağıdaki ifade de 'A' harfi ile 'K' harfi arasında olan isimleri bulmaktadır. Büyük küçük karaktere dikkat edilmelidir.
Select * from employees where last_name between 'Altin' and 'Kadir';
- Aşağıdaki ifade de salary değeri 4400, 2600 , 8300 olanları gösterir.
Select * from hr.employees where salary in(4400,2600,8300);
- Aşağıdaki ifade de S harfi ile başlayan ve devamı olan isimleri verir.
SELECT first_name FROM employees
WHERE first_name LIKE 'S%';* Küçük harf ve büyük harfe dikkat etmek gerekir.
- Aşağıdaki ifade de soldan sağa doğru ikinci harfi 'o' olanları gösterir.
-->'%' işareti solda olsaydı ('%o_') sağdan sola doğru ikinci harfi 'o' olanları gösterirdi.
SELECT last_name FROM employees
WHERE last_name LIKE '_o%';- Aşağıdaki ifade de manager_id si null olanları gösterir.
SELECT * FROM employees
WHERE manager_id IS NULL;
WHERE manager_id IS NULL;
- Aşağıdaki ifade de salary 1000 e eşit veya büyük olanlar VE job_id sinde 'MAN' sözcüğü olanları gösterir.
SELECT * FROM employees WHERE salary >=10000
AND job_id LIKE '%MAN%';
- Aşağıdaki ifade de salary 1000 e eşit veya büyük olanlar VEYA job_id sinde 'MAN' sözcüğü olanları gösterir.
SELECT * FROM employees WHERE salary >= 10000
OR job_id LIKE '%MAN%';
- Aşağıdaki ifade de job_id si 'IT_PROG', 'ST_CLERK', 'SA_REP' olanları göstermez.
SELECT * FROM employees WHERE job_id
NOT IN ('IT_PROG', 'ST_CLERK', 'SA_REP');
- Aşağıdaki ifade de Job_id si 'SA_REP' olanlar veya job_id si 'AD_PRES' ve salary değeri 1500 den büyük olanları gösterir.
SELECT last_name, job_id, salary
FROM employees WHERE job_id = 'SA_REP'
OR job_id = 'AD_PRES' AND salary > 15000;
- Aşağıdaki ifade de Job_id si 'SA_REP' veya job_id si 'AD_PRES' olanlar ve salary değeri 1500 den büyük olanları gösterir.
SELECT last_name, job_id, salary
FROM employees WHERE (job_id = 'SA_REP'
OR job_id = 'AD_PRES')
AND salary > 15000;
Hiç yorum yok:
Yorum Gönder