Select Cümleciği

SQL sorguları SELECT komutu girildikten sonra başlar. Şimdi hepbirlikte SELECT komutunun nasıl işlediğini görelim

SQL sorguları SELECT komutu girildikten sonra başlar. Şimdi hepbirlikte SELECT komutunun nasıl işlediğini görelim

Sorgu Cümlecikleri

Seçme Sorgusu - SELECT- Örnekleri
(Basit Sorgu, FROM cümleciği, WHERE şart cümleciği ve As ifadesi)

Ziyaretcidefteri veritabanı içerisindeki mesaj tablosu kayıt deseni aşağıdadır. (Örnekler için referans alınan tablo)

adi soyadi yas mesaji tarih
nvarchar(30) nvarchar(30) tinyint nvarchar(MAX) smalldatetime

USE ziyaretcidefteri

ziyaretcidefteri veritabanı seçilerek bu veritabanındaki tablolar üzerinde işlem yapılacağı belirtilir

SELECT * FROM mesaj
Mesaj tablosundaki tüm kayıtları seçer

SELECT * FROM dbo.mesaj
Mesaj tablosundaki tüm kayıtları seçer

SELECT adi,soyadi FROM mesaj
Mesaj tablosundaki adi ve soyadi alanlarını seçer

SELECT * FROM mesaj WHERE adi='ahmet'
Mesaj tablosundaki adi ahmet olan kayıtları listeler

SELECT * FROM mesaj WHERE yas<28
yaşı 28 en küçüklerin yolladığı mesaları listeler

SELECT * FROM mesaj WHERE yas<28 and yas>10
yaşı 10-28 aralığındakileri listeler

SELECT * FROM mesaj WHERE tarih>'1.1.2005'
1.1.2005 tarihinden sonra gönderilen mesajları listele

SELECT * FROM mesaj WHERE tarih>'1.1.2005' and tarih<'10.10.2010'
1.1.2005 ile 10.10.2010 aralığındaki mesajları listele

SELECT * FROM mesaj WHERE tarih between '1.1.2005' and '10.10.2010'
1.1.2005 ile 10.10.2010 aralığındaki mesajları listele

SELECT * FROM mesaj WHERE adi in ('fatih','ali')
ismi fatih veya ali olanları listeler. Veritabanı dili türkçe olduğu için ali ile ALİ, fatih ile FATİH eşittir.

SELECT * FROM mesaj WHERE adi like ('F%')
adi f ile başlayanları listele

SELECT * FROM mesaj WHERE adi like ('[F]%')
adi f ile başlayanları listele. Yukardaki ile aynı anlam

SELECT * FROM mesaj WHERE adi like ('[FA]%')
adi f ve a ile başlayanları listele. Yukardaki ile aynı anlam

SELECT * FROM mesaj WHERE adi like ('[^F]%')
adi f ile başlamayanları listele. ^ işareti köşeli içinde bulunanlar olmasın anlamındadır

SELECT * FROM mesaj WHERE adi like ('%i')
adi i ile bitenleri listele

SELECT * FROM mesaj WHERE adi like ('%a%')
adi nda a bulunanları listele. Başta ortada sonda farketmez tüm a bulunanları listele

SELECT * FROM mesaj WHERE adi like ('a__')
adi a ile başlayan 3 harfli isimleri listele. % işareti birden fazla karekter. _ işareti ise tek karakteri temsil eder.

SELECT * FROM mesaj WHERE adi in ('ali','fatih') and yas>10 and tarih between '1.1.2005' and '10.10.2010'
adi ali veya fatih olanlardan yaşı 10 dan büyük ve tarih 1.1.2005 ile 10.10.2010 aralığındakileri listele

SELECT * FROM mesaj WHERE (adi in ('ali','fatih') or yas>0) and tarih between '1.1.2005' and '10.10.2010'
adi ali veya fatih ya da yaşı 10 dan büyük olanlardan tarih değeri 1.1.2005-10.10.2010 aralığında olanları listele

SELECT * FROM mesaj WHERE soyadi is null
soyadi na bilgi girilmeyenleri listele (hiçbir değer girilmemesi null olarak ifade edilir.)

SELECT * FROM mesaj WHERE soyadi is not null
soyadi na değer girilenleri listele

 
As ifadesi ile kolon ismini sorgu neticesinde değiştirme. Kolon ismi tabloda değişmez sorgu neticesinde sadece görünen isim değişir, alan ismi aynı kalır.
İstenirse alan eklenebilir, alanda aritmetiksel işlemler yapılarak yeni bir kolon oluşturulabilir

SELECT adi as 'Mesaj Gönderenin Adı' FROM mesaj
sorgu kolon başlığında adi yerine Mesaj Gönderenin Adı ifadesi görünür

SELECT adi as 'Mesaj Gönderenin Adı', soyadi, 'AKML' as okul FROM mesaj
adi kolonunun başlığı değiştirilir, soyadı kolonu sabit kalır. Tablomuzda olmamasına rağmen değeri AKML olan okul ifadesi eklenir.

SELECT yas as ''Mesaj Gönderenin Yaşı' FROM mesaj
sorgu kolon başlığında yas yerine Mesaj Gönderenin Yaşı yazacak

SELECT yas+5 as 'Mesaj Gönderenin Yaşının 5 fazlası' FROM mesaj
Mesaj Gönderenin yaşı 5 ile toplanacak kolon başlığında ise Mesaj Gönderenin Yaşının 5 fazlası ifadesi görünecek

As ın Diğer bir kullanımı
SELECT 'Yaşı'+Str(yas+5) as 'Öğrencinin Yaşı' FROM mesaj
Kolon başlığı Öğrencinin Yaşı olur. Kayıt Görünümü ise Yaşı 17 şeklinde olur. Öğrencinin yaşı 5 ile toplanıyor. Çıkan neticenin Yaşı ifadesiyle toplanabilmesi için veri türünün string ifadeye STR ile çevrilmesi gerekiyor ve çevriliyor

As ifadesinde + - * / arimetiksel işleçleri kullanılır.

 
ORDER BY ile verileri Sıralama İşlemi

SELECT * FROM mesaj ORDER BY adi
kayıtları adi alanına göre A dan Z ye doğru sırala

SELECT * FROM mesaj ORDER BY adi ASC
kayıtları adi alanına göre A dan Z ye doğru sırala

SELECT * FROM mesaj ORDER BY adi DESC
kayıtları adi alanına göre Z den A ya doğru sırala

SELECT * FROM mesaj ORDER BY adi asc,soyadi asc
adi alanına göre sırala adı aynı olursa onları soyadlarına göre sırala

SELECT * FROM mesaj ORDER BY adi+soyadi
adi alanına göre sırala adı aynı olursa onları soyadlarına göre sırala

SELECT * FROM mesaj ORDER BY 1
1. sıradaki alana göre sıralama yap

SELECT * FROM mesaj ORDER BY 1,3
Önce 1 sonra 3. sıradaki alana göre sırala

SELECT * FROM mesaj ORDER BY adi ASC, soyadi ASC
adi alanına göre sırala adı aynı olursa onları soyadlarına göre sırala

SELECT * FROM mesaj ORDER BY adi DESC, soyadi DESC
adi alanına göre Z-A ya sırala adı aynı olursa onları soyadlarına göre Z-A ya doğru sırala

Telefon +90 505 747 42 84
Email info@devedijital.com
Adres
Tacettin Veli Mahallesi Halit Narin Caddesi Bahadır Plaza Kat:11 Daire:41 38230 Deve Dijital Melikgazi/Kayseri/Türkiye