Aşağıdaki linkteki yazımızda SQL Server basit veri sorgulama işlemine giriş yapmıştık. Konunun girişi olması sebebi ile öncelikle ilk yazımıza göz atmanızı öneririm 🙂
Tekrarlanan Verileri Tekile İndirmek (DISTINCT)
Sorgu sonucunda dönen veri setindeki aynı değerleri tekile indirmek için SELECT
ifadesinden sonra DISTINCT
ifadesi kullanılır. Örneğin aşağıdaki gibi sorguyu yazdığımızda dönen sonuç bütün tablonun satır sayısı kadardır.
SELECT markaKod, dovizKod
FROM tblUrun
Sorgunun sonucunun ekran görüntüsünde dikkat edersek birbirinin aynısı olan kayıtlar var. Bu tekrar eden kayıtları tekile indirmek için sorguyu aşağıdaki gibi değiştiriyoruz.
SELECT DISTINCT markaKod, dovizKod
FROM tblUrun
Sorgunun aşağıda sonuç ekran görüntüsünde göreceğimiz gibi sonuç sayısı birbirinden farklı 105 kayıttan oluşuyor. Üstteki ekranda 2-USD ikilisi birden fazla var iken aşağıdaki ekranda sadece bir tane var.
Türetilmiş / Hesaplanmış Kolonlar
Kullanıcı tablosundan isim ve soy isimlerin listesi alınmak istendiğinde aşağıda sorgu yazıldığında iki kolonlu bir sonuç elde ediliyor.
Ancak isim ve soy isimleri tek kolon halinde alınmak istendiğinde bu kolonları birleştirmek için select ifadesinde aşağıdaki gibi hesaplama yapıyoruz.
Bu şekilde dinamik olarak hesaplanan kolonlarda bir isim olmadığında kolonun başlığında “No column name” yazar. Bu şekilde hesaplanan kolona isim vermek için sorguyu aşağıdaki şekilde yazabiliriz.
AS ifadesi ile kolona isim verilebileceği gibi aşağıdaki şekilde de isimlendirme yapılabilir.
NULL Değer Karşılaştırma
NULL değerler diğer değerlerin aksine karşılaştırma operatörleri ile karşılaştırılamıyorlar. Bunun yerine bir değerin NULL değer olduğunu sorgulamak için IS NULL, null değer olmadığını sorgulamak için de IS NOT NULL operatörü kullanılır.
Aşağıdaki sorguda adres1 alanı NULL değer olan kullanıcıların adları sorgulanıyor.
Aşağıdaki sorguda da adres1 alanı dolu olan kullanıcılar listeleniyor.
Aralık Sorgulama
Veri sorgulanırken bir aralık sorgulama için BETWEEN … AND … operatörü kullanılır. Aşağıdaki kod örneğinde liste fiyatı 300 ile 500 arasında olan ürünler sorgulanıyor.
Kayıtları Sıralama
Veri sorgulama işleminde belli kolon veya kolonlara göre verileri azalan veya artan sırada sıralamak için ORDER BY operatörü kullanılır. Ürünleri liste fiyatına göre sıralamak için aşağıdaki şekilde bir işlem yapılır.
Varsayılan olarak sıralama artan bir şekilde yapılmaktadır. Sıralamayı azalan bir şekilde yapmak için; sıralamayı azalan şekilde yapacağımız kolondan sonra DESC ifadesi yazılır.
Sıralama birden fazla kolona göre yapılacaksa kolonlara “,” ile birbirinden ayrılarak yazılır. Örneğin aşağıdaki örnekte ürünler marka koduna göre azalan ve liste fiyatına göre artan bir sırada yapılmaktadır.
Dönen Kayıt Sayısını Sınırlamak
SELECT ifadesinden dönen kayıtları sınırlandırmak için TOP n ifadesi kullanılır. Bu şekilde kullanıldığında ilk n sayıdaki sonucu getirir.
Yukarıdaki örnekte sorgu sonucunda dönen ilk 10 kayıt alınmaktadır. TOP n PERCENT şeklinde yazılırsa da dönen kayıtların ilk %n kadarlık kısmı ekrana getirilir.
[…] SQL Server Basit Veri Sorgulama (SELECT)-2 […]