• 14 Haziran 2021 05:13

Sait ORHAN

Öğretmek için Öğrenin- Öğrenmek için Öğretin

SQL Server Basit Veri Sorgulama (SELECT)-1

BySait ORHAN

May 5, 2021 ,

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 bFiltreye 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örAçıklama
ANDVerilen ş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.
ORVerilen ş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:

Yazının İkinci Bölümü:

https://saitorhan.com/sql-server-basit-veri-sorgulama-select-2/
One thought on “SQL Server Basit Veri Sorgulama (SELECT)-1”

Bir cevap yazın

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

This site uses Akismet to reduce spam. Learn how your comment data is processed.