İkinci kez herkese selamlar,
Bu dersimizde Phphocasi.com.tr sitesi üzerinden SELECT komutu ile devam edeceğiz.
İlk olarak SQL’e Giriş dersimizde bahsettiğimiz veritabanındaki veriye nasıl ulaşacağız onunla başlayalım. Ben dersleri SQL Server üzerinden anlatıyorum. Siz istediğiniz veritabanı yazılımı üzerinden devam edebilirsiniz.
Select Sorgusu
SELECT * FROM Personel
Bu komut Personel tablosundaki tüm veriyi sorgulamak için kullanılır, * yerine o tablodaki tüm kolonları yazarak ta hepsini getirmiş oluruz.
SELECT PERSONEL_NO ,ADI ,SOYADI ,GÖREVI ,YONETICISI ,GIRIS_TARIH ,UCRET ,KOMISYON ,BOLUM_NO FROM Personel
Kolon isimlerini SELECT ifadesinden sonra aralarında virgül ile belirtmemiz gerekmektedir.
FROM nereden olacağı, * tüm veriyi, SELECT ise elde edilen veri üzerinde ne yapılacağını belirtir. SELECT o tablodan veri seçmek için kullanılır. * yerine tabloda belirtilen kolon isimlerini yazarsak, sadece o kolonda olan bilgiyi getirir.
Bu tabloda her kolon, tablodaki verinin anlamlı bir bölümlenmiş bilgisini tutar. Her satırda o tabloda kaç tane veri olduğunu gösterir. Ayrıca SQL dili karakter boyutuna duyarlı değildir. Aşağıdaki sorguların hepsi geçerlidir.
SELECT * FROM Personel SELECT * FROM personel SELECT * FROM PersoNEL
Örneğimizde, Personel tablosunda PERSONEL_NO, ADI, SOYADI, GÖREVI, YONETICISI, GIRIS_TARIH, UCRET KOMISYON, BOLUM_NO kolonları bulunmaktadır. Bu tabloya toplamda 7 tane veri girilmiş. İlk satırda PERSONEL_NO’ su 101 olan ADI SOYADI BURAK AKAR olan kayıt gösterilmektedir.
Personel tablosundaki tüm ADI kolonundaki bilgileri getirmek istersek;
select ADI from Personel
şeklinde yazarak tablodaki tüm kayıtları getirmiş oluruz.
SELECT ADI,SOYADI FROM Personel
Tablodaki tüm kayıtları ADI SOYADI olacak şekilde getirir.
select bolum_no from Personel sorgusunu(query) çalıştırdığımızda, aşağıdaki ekran görüntüsünde de görüldüğü üzere 3 tane 10, 3 tane 20, 1 tane 40 değeri bulunmaktadır. Aynı değerden birden fazla olmasının sebebi her satırdai kişinin bolum_no değerinin 10 olmasıdır.
Sadece bolum_no değeri 10 olanların gelmesini istersek WHERE koşul cümleciğini kullanmamız gerekmektedir.
Not: Where ve Distinct konularına detaylı olarak ilerleyen derslerimizde değineceğiz. Şimdilik SELECT konusunu daha iyi kavrayabilmek için örneklerde kullanıyoruz.
Örneğin;
select * from Personel where BOLUM_NO=10
dediğimizde bolum_no’ su 10 olan aşağıdaki değerler dönecektir.
Where koşul cümlesinden sonra daha fazla koşul eklemek istersek AND veya OR kullanarak birleştirebiliriz.
Bölüm_no’su 10 ve ADI BURAK olan kayıtları getirmek istediğimizde;
select * from Personel where BOLUM_NO=10 AND ADI = "BURAK"
çalıştırırsak aşağıdaki sonuç gelmektedir. Gördüğünüz gibi ADI BURAK ve BOLUM_NO 10 olan sadece 1 kayıt bulunmaktadır. Koşul cümleciğiyle istediğimiz veriyi daha özelleştirebiliyoruz.
Bolum_no’su 10 VEYA ADI BURAK olan kayıtları getirmek istediğimizde ise;
select * from Personel where BOLUM_NO=10 OR ADI = "BURAK"
3 tane kayıt gelmektedir. Sebebi adı BURAK olan veya bolum_no’su 10 olan tüm kayıtlar gelmektedir.
Bölüm No’su 10 veya 40 olan kayıtları getirmek istediğimizde;
select * from Personel where BOLUM_NO=10 OR BOLUM_NO=40
şeklinde belirtilebilir. Fakat doğru sentaksı aşağıdaki şekildedir. Aynı kolondan değerleri filtreleyerek sorgu sonucunda getirmek istersek IN kelimesiyle kullanılmalıdır.
select * from Personel where BOLUM_NO in (10,40)
İki sorgu sonucu da aynı değerleri getirir, fakat in tercih edilmelidir.
Farklı bir örnek olarak, o tabloda kaç farklı bolum_no olduğunu öğrenmek istersek DISTINCT
kullanmamız gerekmektedir.
select distinct bolum_no from Personel
çalıştırdığımızda aşağıdaki sonucu elde etmekteyiz.
İstediğimiz kolondaki alanın kaç farklı değer aldığını DISTINCT sözcüğüyle buluruz.
Bu dersimize burda son verelim.Özetle SQL Select komutu hakkında bol örneklerle bilgiler vermeye çalıştık. Umarım bir sonraki dersimizde görüşürüz. Şimdilik hoşçakalın ?
Konu hakkındaki sorularınızı yorum bölümünden veya sorucevap.phphocasi.com.tr sitemizden sorabilirsiniz.
Tüm SQL Derslerimiz için tıklayınız.