TEMEL SELECT İFADELERİ



    

       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,
2*department_id+5  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.



      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.


      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;



   2 veya daha fazla sütunu birleştirmek için yukarıdaki ifade kullanılır.

   Sütun birleşiminin farklı bir örneği aşağıdaki gibi yapılabilir.

            SELECT first_name|| '  '||salary "birleşim" FROM   hr.employees;




        AYNI SATIRLARIN GİDERİLMESİ


    
     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_idlast_namejob_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_idlast_namejob_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;



  • 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.
-->İki tane alt çizgi(__) koysaydık üçüncü harfi 'o' olanları gösterirdi.
-->'%' 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;


  • 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_namejob_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_namejob_id, salary
FROM   employees WHERE  (job_id = 'SA_REP'
OR     job_id = 'AD_PRES')
AND    salary > 15000;

Hiç yorum yok:

Yorum Gönder