Data Manipulation Language etiketine sahip kayıtlar gösteriliyor.
Data Manipulation Language etiketine sahip kayıtlar gösteriliyor.

SQL'de ORDER BY Kullanımı

  • ORDER BY anahtar kelimesi satırları, bir veya daha fazla sütuna göre sıralamak için kullanılır.
  • ORDER BY ile hangi sütuna göre sıralayacağımızı ve sıralamanın artan veya azalan şekilde yapılacağını belirleriz. 
  • Sıralama artan (ASC) ya da azalan (DESC) olabilir.
  • Sıralama tipi belirtilmemiş ise SQL veriyi artan şekilde sıralar.
  • Sıralama yapılacak alanlar SELECT ifadesinde yer almak zorunda değildir.
NOT : Örnek sorgulamalarda Northwind Database'i kullanacağım. bk: Nortwind Database Kurulumu 

Örnek Sorgu 1 : SELECT ProductName, UnitPrice FROM Products ORDER BY UnitPrice, ProductName
(Ürünler tablosunda ürün kodu, fiyatı ve ismini, önce fiyata göre, sonra da ürün adına göre görüntülemek isteyelim.

Örnek Sorgu 2 : SELECT ProductID, UnitPrice, ProductName FROM Products ORDER BY UnitPrice DESC
(Ürünler tablosunu fiyata göre azalan sırada listeleyelim.)

 























Örnek Sorgu 3 : SELECT * FROM Customers ORDER BY Country,City
(Müşteriler tablosunu Ülke ve Şehir kriteri vererek listeleyelim.

SQL'de SELECT DISTINCT Kullanımı

  • 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.
NOT : Örnek sorgulamalarda Northwind Database'i kullanacağım. bk: Nortwind Database Kurulumu
 
Örnek Sorgu : SELECT DISTINCT City FROM Customers
(Müşteriler (Customers) tablosundaki  Şehir (City) sutunlarını listeleyelim. Ve aynı değerlerin tekrarlanmamasını sağlayalım.) 

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. ) 

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.)  


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.