WHERE etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
WHERE etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster

17 Mayıs 2014 Cumartesi

SQL'de TOP n, TOP n Percent ve DISTINCT Kullanımları

İlk n Kaydın Görüntülenmesi - TOP n
  • Belirli sayıda satır çekmek için SQL'de TOP ifadesi kullanılır.
  • TOP n ifadesiyle tablonun baştan ilk n satırını çekebiliriz.
  • TOP n veya TOP n PERCENT anahtar kelimeleri ORDER BY  yan tümcesini ile birlikte kullanılmalıdır. Aksi halde listelenen verilerde WHERE ifadesi ile belirtilen koşula uyan kayıtlar rastgele dizileceğinden, istediğimiz sonucu elde edemeyebiliriz.
TOP n Kullanımı : SELECT TOP n * FROM <Tablo Adı>

NOT : Örnek sorgulamalarda Northwind Database'i kullanacağım. bk: Nortwind Database Kurulumu 

Örnek Sorgu 1: SELECT TOP 10 OrderID,ProductID, quantity FROM [order details] ORDER BY quantity DESC
(Sipariş detayları tablosundan (order details) en yüksek siparişi verilen 10 ürünü listeleyelim.) 



Belli Yüzdeli Kayıtların Görüntülenmesi - TOP n Percent
  • Tablodaki kayıtların % n kadarı görüntülenebilir.
  • Örneğin tablomuzda 100 kayıt var ise TOP 10 Percent ifadesi ile bu kayıtların %10'u görüntülenir.
TOP n Percent Kullanımı : SELECT TOP n Percent * FROM <Tablo Adı>

Örnek Sorgu 2: SELECT TOP 5 Percent OrderID,ProductID, quantity FROM [order details] ORDER BY quantity DESC
(Sipariş detayları tablosundan (order details) en yüksek siparişi verilen ürünlerin %5'ini listeleyelim.) 



Tekrarsız Kayıtların Görüntülenmesi - DISTINCT

DISTINCT Kullanımı : SELECT DISTINCT <sütun adı> FROM <tablo adı> [WHERE <koşul>]
  • Bazen veriler arasındaki benzerlikleri kaldırarak sadece benzer olmayanları listeletmek isteyebiliriz. Böyle durumlarda SELECT DISTINCT sadece tek olan (unique) kayıtların sonuç listesinde yer almasını sağlar. 
  • Bir sütunda belirli bir kelime iki veya daha fazla sayıda tekrarlanıyor olabilir. Fakat DISTINCT ile her tekrarlanan kayıt sadece bir kez listelenir.  
  • DISTINCT SQL komutu SELECT komutu ile birlikte kullanılmaktadır.
Örnek Sorgu 3: SELECT DISTINCT City FROM Customers
(Müşteriler (Customers) tablosundaki  Şehir (City) sutunlarını listeleyelim. Ve aynı değerlerin tekrarlanmamasını sağlayalım.) 

28 Nisan 2014 Pazartesi

SQL'de AVG, MAX, MIN, SUM, COUNT Fonksiyonlarının Kullanımları

Aggregate Function (Hesaplama Fonksiyonları)

Bazen tablolar üzerinde kayıtların listelenmesi yerine kayıtlar üzerinde hesaplamalar yaptırarak sonuçların listelenmesine ihtiyaç duyarız. Bu nedenle tüm kayıtları döndürmeden sadece matematiksel sonuçlar döndürmemiz gerekebilir. SQL bu gibi durumlar için özel fonksiyonlar sunmaktadır. Bu Fonksiyonlara Aggregate Function (Hesaplama Fonksiyonları) denir.

Peki bu fonksiyonlar bizlere neler sunmaktadır ;
  • Sutundaki tüm değerlerin toplamını bulmak.
  • Sutundaki tüm degerlerin ortalamasını bulmak.
  • Sutundaki en büyük veya en küçük değeri bulmak.
  • Toplam kayıt sayılarını hesaplamak.
Aggregate Function (Hesaplama Fonksiyonları)


Not : Hesaplama fonksiyonları kullanılırken NULL değerler dikkate alınmamaktadır.


 

MAX ve MIN Fonksiyonları Kullanımı
  • MAX fonksiyonu, bir sütundaki en yüksek değeri verir. 
  • Boş (NULL) değerler işleme katılmaz. 
  • MAX fonksiyonu alfabetik sıralamadaki ilk metinsel ifadeyi de bulmamızı sağlar.
  • MIN fonksiyonu bir sütundaki kayıtlardaki en küçük değeri verir. 
  • Boş (NULL) değerler işleme katılmaz.   
  • MIN fonksiyonuda MAX fonksiyonu gibi alfabetik sıralamadaki son metinsel ifadeyi  bulmamızı sağlar
NOT : Örnek sorgulamalarda Northwind Database'i kullanacağım. bk: Nortwind Database Kurulumu 

Örnek Sorgu 1: SELECT MAX(UnitPrice) AS Maksimum_Fiyat FROM Products
(Ürünler (Products) tablosundaki en yüksek fiyatlı ürünü listeleyelim.)  
 
 
Örnek Sorgu 2: SELECT MIN(UnitPrice) AS Minimum_Fiyat FROM Products
(Ürünler (Products) tablosundaki en küçük fiyatlı ürünü listeleyelim.) 


Örnek Sorgu 3: SELECT MAX(CompanyName) AS En_Sondaki_Müşteri FROM Customers
(Alfabetik listeye göre en sonda yer alan müşteriyi görüntüleyelim.)  
 
 
SUM, AVG ve COUNT Fonksiyonları Kullanımı
  • SUM fonksiyonu belirtilen sütundaki sayısal değerlerin bir toplamını geri döndürür. 
  • AVG fonksiyonu belirtilen sütundaki ortalama değeri verir. 
  • AVG hesaplama sırasında boş (NULL) değerleri işleme almaz.
  • SQL'de COUNT Kullanımı için tıklayınız.
Örnek Sorgu 4: SELECT SUM(Quantity) AS Toplam_Ürün FROM [Order Details]
(Toplam kaç adet malın sipariş verildiğini bulalım.) 


Örnek Sorgu 5: SELECT AVG(DISTINCT UnitPrice) AS tekil_ortalama_deger  FROM Products WHERE SupplierID = 22
(22 kayıt numaralı tedarikçiye ait ürünlerin tekil değerilerinin ortalama fiyatını almak isteyelim.) 
 

SQL'de AS Kullanımı

 Sütunların Ve Tabloların Yeniden Adlandırılması AS
  • Bazı durumlarda sorgulama yaparken sutunun ismi kullanıcı tarafından anlaşılmayabilir bu yüzden daha anlamlı sutun başlıkları kullanmak isteyebiliriz bu durumda Alias (AS) takma isimler kullanırız.
  • AS yardımcı kelimesini kullanarak sütunları farklı adlarla görüntüleyebiliriz.
  • Uzun tablo isimlerini de kullanımı daha kolay olacak şekilde değiştirebiliriz.
  • Alias kullanımı AS kelimesiyle veya [ ] parantez kullanılarak yazılabilir.
AS Kullanımı : SELECT <sütun adı> AS <yeni ad> FROM <tablo adı> AS <yeni tablo adı>

NOT : Örnek sorgulamalarda Northwind Database'i kullanacağım. bk: Nortwind Database Kurulumu 

Örnek Sorgu 1: SELECT AVG(UnitPrice) AS 'Avarage Price' FROM products
(Ürünler (Products) tablosundaki Birim Fiyatı (Unit Price) Ortalama Fiyat (Avarage Price) olarak listelenmiştir.) 


Örnek Sorgu 2: SELECT  COUNT(*) AS Müşteri_Sayısı FROM Customers 
(Müşteriler (Customers) tablosunda kaç tane müşterimiz var. Müşteri_Sayısı başlığıyla listeleyelim.)


20 Nisan 2014 Pazar

SQL'de COUNT Fonksiyonu Kullanımı

  • COUNT fonksiyonu, belirtilen ölçütlerle eşleşen satır sayısını döndürür.
  • Kısaca ; veritabanındaki kayıtları sayabilmek için yerleşik COUNT fonksiyonunu kullanırız.

NOT : Örnek sorgulamalarda Northwind Database'i kullanacağım. bk: Nortwind Database Kurulumu 

COUNT(*) Kullanımı :  SELECT COUNT(<sütun adı>) FROM <tablo adı> 
   
Örnek Sorgu 1: SELECT COUNT(*)AS [Sipariş Kayıt Sayısı]  FROM orders
(Siparişler (Orders) tablosundaki kayıt sayısını Sipariş Kayıt Sayısı başlığıyla listeleyelim.) 

Örnek Sorgu 2: SELECT COUNT(*) AS Ürün_Sayısı FROM Products WHERE SupplierID = 5
(Tedarikci Numarası  (SupplierID) 5 olan tedarikçiye ait ürünlerin sayısını öğrenelim.) 

COUNT DISTINCT Kullanımı :  SELECT COUNT(DISTINCT <sütun adı> FROM <tablo adı>

DISTINCT anahtar kelimesi COUNT ile birlikte kullanıldığında, belirtilen sütundaki benzersiz kayıtların sayısını verir

Örnek Sorgu 3: SELECT COUNT (DISTINCT CustomerID) FROM Orders
(Siparişlerin kaç farklı müşteriden alındığını öğrenelim.) 



30 Mart 2014 Pazar

SQL'de IS NULL ve IS NOT NULL Kullanımları

  • SQL'de tabloların veri alanlarına veri girilmezse o alanlara NULL değer girer.
  • NULL değeri boşluk (‘ ‘) veya sıfır (0) değerinden farklıdır. 
  • Değer atanmamış yani veri girilmemiş kayıtları listelemek için IS NULL kullanılır.
  • Bir ifadenin NULL olup olmadığını kontrol etmek için IS NOT NULL kullanılır
  • Kısaca NULL için karşılaştırma yaparken, IS NULL kullanılır. Boşluk olmayan alanlar için karşılaştırma yaparken ise IS NOT NULL kullanılır.
NOT : Örnek sorgulamalarda Northwind Database'i kullanacağım. bk: Nortwind Database Kurulumu
 
Örnek Sorgu 1 : SELECT  SupplierID,  CompanyName FROM Suppliers  WHERE Fax IS NULL
(Tedarikçiler (Suppliers) tablosundan fax bilgisi girilmemiş tedarikçileri listeleyelim.


Örnek Sorgu 2 : SELECT  SupplierID,  CompanyName FROM Suppliers  WHERE Fax IS NOT NULL
(Tedarikçiler (Suppliers) tablosundan fax bilgisi girilmiş tedarikçileri listeleyelim. ) 

29 Mart 2014 Cumartesi

SQL'de IN ve NOT IN Kullanımları

  • IN İngilizce'de de olduğu gibi içinde anlamına gelmektedir.
  • IN komutu her zaman WHERE kriterinden sonra kullanılmaktadır.
  • Sahip olduğumuz verilerden sadece istediklerimize IN komutuyla ulaşabiliriz.
  • NOT IN, IN komutunun tam tersidir. Sahip olduğumuz verilerden istemediklerimizi NOT IN sözcüğüyle belirtiriz.
  • NOT koşul bildirimi diğer arama koşullarına göre daha yavaş çalışır.
  • IN ile elde edebildiğimiz bütün sonuçlar OR kullanılarakta alınabilir.
NOT : Örnek sorgulamalarda Northwind Database'i kullanacağım. bk: Nortwind Database Kurulumu
Örnek Sorgu 1 : SELECT SupplierID, ProductName, UnitPrice FROM Products
WHERE SupplierID IN(5, 8) ORDER BY ProductName
(Satıcı kimlik kodu 5 ve 8 olan ürünleri IN operatörü kullanarak listeleyelim.)

  
Örnek Sorgu 2 : SELECT CustomerID FROM Orders WHERE OrderID
IN ( SELECT OrderID FROM [Order Details] WHERE ProductID = 27)
(27 numaralı ürünü sipariş veren tüm müşterileri listeleyelim.)  




Örnek Sorgu 3 : SELECT CompanyName,Country FROM Customers
WHERE Country NOT IN ('UK','Mexico','Germany','USA','Brazil')
(Customers tablosunda Ülkesi
UK, Mexico, Germany, USA, Brazil dışındakileri listeleyelim.)  


26 Mart 2014 Çarşamba

SQL'de Mantıksal Operatörler (Logical Operators)

Mantıksal operatörler iki karşılaştırma işleminin sonucunu birleştirmek için kullanılır.
  • AND her iki taraf da True ise True, diğer durumlarda True değerini verir. Birleştirilen koşulların tümüne uyan kayıtları bize listeler.
  • OR Her iki taraf da False ise False, diğer durumlarda True değerini verir. Tanımladığımız koşullardan en az bir tanesine uyan kayıtları listeler. 
  • BETWEEN ifadesi de AND operatörü ile aynı işlemleri gerçekleştirebilmektedir. 
  • NOT operatörü ise kendisinden sonra gelen koşulu sağlamayan kayıtları listeler. 
NOT : Örnek sorgulamalarda Northwind Database'i kullanacağım. bk: Nortwind Database Kurulumu
Örnek Sorgu AND : SELECT OrderID, ShipName FROM Orders WHERE CustomerID LIKE '%EN%' AND ShipVia=3
(Orders tablosunda CustomerID değerinin içinde “EN” ifadesi geçenleri ve ShipVia değeri 3’e eşit olan verilerin tamamını listeler.)
 
 
Örnek Sorgu OR :  SELECT OrderID, ShipName, ShipVia FROM Orders WHERE OrderID LIKE 'q2313qwe12' OR ShipVia=3
(Orders tablosunda OrderID değeri 'qwe2313qwe12' değerini içerenler ya da ShipVia değeri 3’e eşit olan değer varsa sorguyu çalıştır, verileri listele.)


Örnek Sorgu NOT : SELECT OrderID, ShipName, ShipVia FROM Orders WHERE NOT (ShipVia=3 OR ShipVia=2)
(Orders tablosunda ShipVia değeri 2 ya da 3 olmayan değerleri listeler.)
 

Örnek Sorgu BETWEEN : SELECT  OrderID, OrderDate FROM Orders WHERE  OrderDate Between '1/1/1996' And '1/1/1998'
(1 Ocak 1996  ile 1 Ocak 1998 tarihleri arasındaki siparişleri listelemek isteyelim.)
 
 
NOT :
Parantez kullanımı ikiden fazla koşul olması durumunda koşulların öncelik sırasını belirler.
Parantez kullanılmaması durumunda SQL önce NOT, sonra AND ve en son da OR mantıksal operatörünü işler. 

Copyright 2013-2017 | İbrahim BAYRAKTAR /dev/null Web Günlüğü