SQL Server ve diğer veri tabanı sistemlerinde veriyi sorgulamak için SELECT ifadesi kullanılmaktadır. SELECT bir SQL standart ifadesi olduğundan bütün SQL sistemlerinde kullanımı temelde aynıdır.
SELECT ifadesinin en temel yazım şekli aşağıdaki gibidir.
SELECT
[Seçilecek kolon listesi]
FROM
[Verinin sorgulanacağı tablo]
WHERE
[Sorguya uygulanacak şartlar (varsa)]
tblUrun
tablosundan urunKod, urunAd, listeFiyat
kolonlarını herhangi bir şart olmadan sorgulamak için kodu aşağıdaki gibi yazabiliriz.
select
urunKod, urunAd, listeFiyat
from tblUrun
Sorgu sonucunda veri tabanında tabloya kayıtlı bütün kayıtlar gelecektir.
Tabloda tanımlı belli kolonları değil de bütün kolonları sorgulamak için de kolon listesi alanına bütün kolon adları yerine sadece *
ifadesini kullanmak da bütün kolonları listeleyecektir.
select
*
from tblUrun
WHERE ile şart belirtilmeden yapılan sorgulamalarda bütün tablo listelenmektedir. Ancak gerçek hayatta veri tabanları sorgularında en basitinden en karmaşığına kadar gelecek veriler filtrelenerek sorgulanır. Aşağıdaki örnekte ürün kodu 3028 olan ürünü sorgulamak için gerekli sorgu yazılmıştır.
select
urunKod, urunAd, listeFiyat
from tblUrun
where urunKod = 3028
Sonuç ekranında da göründüğü üzere ürün kodu 3028 olan sadece bir ürün olduğundan sorgu sonucunda bir satır veri dönüyor.
Sorgu sonucunu filtrelemek için kullanılan parametreler aşağıdaki gibidir.
Karşılaştırma Operatörü | Açıklaması |
---|---|
= | Eşitlik durumunda sonucu doğru döner. |
> | Sol tarafına yazılan değerin sağ tarafına yazılan değerden büyük olması durumunda doğru döner. |
< | Sol tarafına yazılan değerin sağ tarafına yazılan değerden küçük olması durumunda doğru döner. |
>= | Sol tarafına yazılan değerin sağ tarafına yazılan değerden büyük veya eşit olması durumunda doğru döner. |
<= | Sol tarafına yazılan değerin sağ tarafına yazılan değerden küçük veya eşit olması durumunda doğru döner. |
BETWEEN a AND b | Filtreye verilen kolonun a ve b değerleri arasında olması durumunda sonuç doğru döner. |
IN (D1, D2, ….. , DN) | Filtreye verilen kolonun değeri parantez içerisinde verilen değerlerden herhangi biri ise sonuç doğru döner. |
LIKE ‘Patern’ | Metin ifadeler için kullanılır. Filtreye verilen kolon patern olarak verilen kalıba uyan değerleri getirir. Örneğin ortasında “USB” ifadesi geçen ürünleri getir gibi bir sorgu LIKE deyimi ile yapılabilir. |
Yukarıda belirtilen karşılaştırma operatörleri ile tekli şartlar verilebileceği gibi AND ve OR ifadeleri ile de birden fazla şart beraber kullanılabilir.
Operatör | Açıklama |
---|---|
AND | Verilen şartlar AND yani “ve” ifadesi ile birbirine bağlandığında sonucun doğru olabilmesi için verilen bütün şartların doğru olması gerekmektedir. |
OR | Verilen şartlar OR yani “veya” ifadesi ile birbirine bağlandığında sonucun doğru olabilmesi için verilen şartlardan sadece birinin doğru olması yeterlidir. |
AND ve OR ifadelerinin beraber kullanılması durumunda AND ifadesi OR ifadesinden önceliklidir. Bu sebeple OR ile bağlanması gereken şartlar parantez ile AND ifadesinden ayrılmalıdır.
Örnek Sorgular
Marka kodu 5 olan ve liste fiyatı 150’den küçük olan ürünlerin adlarını ve barkod numaralarını gösteren sorgu |
select urunAd, Barkod from tblUrun where markaKod = 5 AND listeFiyat < 150 |
Marka kodu 5 olan veya 4 numaralı markanın liste fiyatı 100’den büyük ürünlerin adlarını ve barkod numaralarını gösteren sorgu |
select urunAd, Barkod from tblUrun where markaKod = 5 OR (markaKod = 4 AND listeFiyat > 100) |
Marka kodu 5 olan veya 4 numaralı markanın liste fiyatı 100 ile 250 arasında olan ürünlerin adlarını ve barkod numaralarını gösteren sorgu |
select urunAd, Barkod from tblUrun where markaKod = 5 OR (markaKod = 4 AND listeFiyat BETWEEN 100 AND 250) |
Konunun video anlatımına aşağıdaki videodan ulaşabilirsiniz:
[…] SQL Server Basit Veri Sorgulama (SELECT)-1 […]