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

13 Mayıs 2012 Pazar

27. INNER JOIN Kullanımı

  • SQL de varsayılan (default) olarak kullanılan tablolaları bağlama işlemidir. 
  • Bağlanan tablolarda sadece ilişkili kayıtlar listelenir.
Örnek: Sorgumuzda hangi firmadan hangi ürünü aldığımızı bulmak istiyoruz. Bunun için iki farklı tabloyu birleştirip istediklerimiz SELECT ediyoruz. SELECT * FROM... yaparak da listenen tüm verileri görebilir, istediklerimizi alabiliriz. Diğer bir konuda AS kullanma sebebim daha büyük sorgularla uğraştığımızda bilmeniz gereken bir spde (Stored Procedure) bir tabloya 2 veya daha fazla sorgu cekmeniz gerekebilir. Bunun için ayrı ayrı nesne gibi düşünüp (p,s) gibi üzerinde işlemler yapmak size daha anlaşılabilirlik ve kolaylık sağlayacaktır.

Sorgu:
SELECT ProductName,CompanyName
FROM
Products AS p
INNER JOIN
Suppliers  AS s ON s.Supplierid=p.Supplierid

Ders 28'e geçebilirsiniz.





21 Nisan 2012 Cumartesi

20. GROUP BY Kullanımı

  • DISTINCT anahtar kelimesi yanlızca benzersiz satırları listelemek için kullanırız.
  • Fakat GROUP BY kelimesi belirtilen sütun yada sütunlardaki aynı değere sahip satırları tek bir satırda birleştirmeyi sağlar.
  • GROUP BY genellikle toplam fonksiyonlarıyla (Aggregate Function) kullanılır. 
  • GROUP BY sorgularında kullanılan en yaygın toplama fonksiyonları MIN, MAX, SUM ve COUNT'dır.
  • En önemlisi GROUP BY ile belirtilen sütunlar SELECT ifadesinde de yeralmalıdır.
Örnek: Aşağıdaki ve Resimdeki örneğimizde ne demek istediğimi daha iyi anlayacaksınız. Önce genel bir sorgu ile tablomuzu görelim. Sonra ne istediğimizi düşünüp ona göre sorgumuzu yazalım. Hangi kategoride stokta ne kadar ürünümüz kaldığını bilmek istiyorum. Dikkat etmeniz gereken GROUP BY ile belirlediğiniz kriteri SELECT e de yazmanız aksi takdirde hata alırsınız.

Sorgu: SELECT CategoryID, SUM(UnitsInStock) AS 'Miktar' FROM Products GROUP BY CategoryId


Ders 21'e geçebilirsiniz.

20 Nisan 2012 Cuma

19. WITH TIES Kullanımı

  • WITH TIES yantümcesi, ORDER BY ile sıralanan sonuç kümesinde son kayıt ile aynı değerde olan kayıtların da listelenmesini sağlar. 
  • Bu durumda sonuç kümeniz belirtiğiniz n sayısından daha fazla olabilir.
  •  WITH TIES yantümcesini sadece ORDER BY yantümcesi ile kullanabilirsiniz.
(İki sorgumuzu dikkatlice inceleyelim ve sonuçlarına bakalım. Resimde daha ayrıntılı görebilirsiniz.) 

Örnek: Normal TOP n ile çalıştırdığımız sorgularımızı eğer WITH TIES ile çalıştırırsak n den farklı sonuç listesi görebiliriz. Burda önemli nokta sıraladığımız yani ORDER BY ile istediğimiz quantity(adet) kısmıdır. Bu durumun anlamı ilk 5 değeri listeledikten sonra en son satıra ait quantity değeri daha varsa onlarıda getirmesidir. İlk sorguda 5 sonuçtan sonuncusunda quantity değerinin 120 olduğunu görmekteyiz. WITH TIES kullanılan sorguda quantity değeri 120 olan bütün değerlerin getirilmesini sağladık.  

Sorgu: SELECT TOP 5 WITH TIES orderid, productid, quantity
                                       FROM [order details] ORDER BY quantity DESC


Ders 20'ye Geçebilirsiniz.

 

8 Nisan 2012 Pazar

15. SQL COUNT FONKSİYONLARI

  • Tablo içerisinde herhangi bir sayma işlemi gerçekleştirmek için COUNT fonksiyonu kullanılmaktadır.

Söz dizimi: SELECT COUNT(<sütun adı>) FROM <tablo adı>

1-) COUNT(*) KULLANIMI

  • COUNT fonksiyonu (*) ile kullanıldığında FROM ile belirtilen tablodaki toplam satır sayısını verir.
Örnek: Aşağıdaki örnekte Çalışanlar (Employees) tablosundaki kayıt sayısı listelenmiştir.

Sorgu: SELECT COUNT(*) AS [Kayıt Sayısı] FROM Employees


Not: AS Kullanımını bir sonraki dersimizde anlatacağım(Ders-16). Bilmeniz gereken AS ile Temp(geçici) sütun oluşturup adı 'Kayıt Sayısı' olsun diyoruz. AS kullanmadığımız takdirde sorgumuzu yaptığımızda sütun ismimiz 'No Column Name' olarak görünür.



Örnek: İkinci örneğimizde kriterleri arttıralım.Mesela Şehri('City') Londra olan çalışanlarımızın sayısını bilmek isteyelim.Bu durumda sorgumuz aşağıdaki gibidir.

Sorgu: SELECT COUNT(*) AS [Kayıt Sayısı] FROM Employees WHERE City='London'




2-) COUNT DISTINCT

  •  DISTINCT anahtar kelimesi COUNT ile birlikte kullanıldığında, belirtilen sütundaki benzersiz kayıtların sayısını verir.
Söz dizimi: SELECT COUNT(DISTINCT <sütun adı> FROM <tablo adı>

Örnek: Bu örneğimizde kaç farklı müşteriden sipariş aldığımızı bulacağımız sorgumuzu yazalım.

Sorgu: SELECT COUNT (DISTINCT CustomerID)FROM Orders



3-) COUNT (<Sütun Adı>)
  • COUNT fonksiyonu bir sütun adı ile birlikte kullanıldığında, o sütundaki boş (NULL) olmayan kayıtların sayısını verir.
Örnek: Bu örneğimizde SevkBölgesi (ShipRegion) değeri 'Null' olmayan Siparişleri (Orders) sorguluyoruz. Dikkat etmemiz gereken 2.sorgumuzun özelliği SevkBölgesi Boş olmayan Siparişleri sorgulamış olmamız.

Sorgu: SELECT COUNT (ShipRegion) AS [SevkBölgesi] FROM Orders 

Ders 16'ya geçebilirsiniz.



17 Mart 2012 Cumartesi

10. IN Kullanımı


  • IN sözcüğünü bir listedeki elemanlardan herhangi biriyle eşleşen satırları görüntülemek için kullanırız. 
  • NOT IN arama kriterini ise listede olmayan değerleri aramak için kullanırız. 
  • NOT koşul bildirimi diğer arama koşullarına göre biraz daha yavaş çalışır. 
  • Performans açısından çok sık kullanılması tavsiye edilmez. 
  • IN ile elde ettiğimiz sonuçları OR kullanarakta elde edebiliriz.
Söz dizimi:     SELECT <sütun adı> FROM <tablo adı>
                        WHERE <sütun adı> IN('değer1','değer2',.....)
(Bütün Müşteriler içinde 'VINET' ve 'FOLKO' isimli müşterilerin tekliflerini listeleyelim;)
Sorgu: SELECT * FROM Orders WHERE CustomerID IN ('VINET','FOLKO')
  

Northwind veritabanımız dışında bir örnek vermek gerekirse daha açıklayıcı olması açısından;
Sorgu: SELECT * FROM Ogrenci WHERE Bolum IN ('Bilgisayar','Elektronik','Elektrik') 
(Belirli 'Bolum' lerde okuyan öğrenci bilgilerine ulaşabiliriz.) 

Ders-11' e Geçebilirsiniz.

9. BETWEEN ...AND... Kullanımı

  • BETWEEN ... AND..... operatörü 2 değer ile belirtilen aralığı sınar. Bu değerler sayı, metin veya tarih olabilir. Aralık kriteri için 2 değerde dahildir.
Söz dizimi:     SELECT <sütun adı> FROM <tablo adı>
                        WHERE <sütun adı> BETWEEN <değer 1> AND <değer 2>

(1996-07-16 tarihinde sipariş verenler ve siparişin gönderildiği yeri döndüren örneğimiz;)
Sorgu: SELECT CustomerID,ShipCity FROM ORDERS WHERE ShippedDate='1996-07-16'


(Yeni öğrendiğimiz BETWEEN ile daha ayrıntılı sorgumuzu yapabiliriz. Örneğin gönderim tarihini hatırlayamadığımızı düşünürsek BETWEEN....AND.... kullanmak en mantıklısı olucak.)

Sorgu: SELECT CustomerID,ShipCity,ShippedDate FROM Orders WHERE ShippedDate BETWEEN   '1996-07-01' AND '1996-08-01'

Not: Dikkat etmeniz gereken aralık değerlerinin başlangıç ve bitiş tarihlerini de kapsadığıdır. Bu aynen sayı aralıklı sorgularda da geçerli.

Ders-10'a geçebilirsiniz.


3 Mart 2012 Cumartesi

5. WHERE Kullanımı

  • WHERE yantümcesi görüntülemek istediğimiz verileri belirli bir kritere göre seçebilmemizi sağlar. 
  • Bir koşulu belirterek sadece o koşula uyan kayıtların seçilmesini sağlar. Örneğin binlerce satış kayıtlarının tutulduğu bir tablo düşünelim.
  • WHERE koşulu ile son 3 günlük,10.000TL den yüksek,belirli iki tarih arası vs gibi bir çok kısıtlamalı sorgu yapabiliriz.
  • WHERE yantümcesinin kullanımı zorunlu değildir. Fakat bir koşula bağlı veri seçmek istediğimizde FROM yantümcesinden sonra eklenebilir.
Söz dizimi:      SELECT <sütun adı> FROM <tablo adı>
                        WHERE <koşul(lar)>


Sorgu: SELECT * FROM Customers WHERE ContactTitle='Owner'
('Customers' tablosundaki 'ContactTitle''ı Owner olan (*)bütün veriler.) 

Ders-6 'ya geçebilirsiniz. 

26 Şubat 2012 Pazar

2. Uygulamalar İçin SQL SERVER ve Northwind Kurulumu

     Öncelikle bilgisayarımıza SQL Server ve Management Studio'yu kurmamız gerekmektedir. Yeni başlayan arkadaşlar için fazla kafalarını karıştırmadan ve masrafa gerek olmadan kullanabilecekleri Microsoft SQL Server Express Edition kurulumunu ve hazır örnekler üzreinden sorgular yapacağımız Northwind Veritabanımızın (NorthwindDatabase) kurulumunu öğreneceğiz. Uygulamalarımızı bu ortamda gerçekleştireceğiz.
Öncelikle İlk Aşamada; 
Link1:http://www.microsoft.com/sqlserver/en/us/editions/express.aspx
SQL Server sürümümüzü seçiyoruz.
Link2:http://www.microsoft.com/betaexperience/pd/SQLEXP08V2/enus/ 
Burdan da istediğimiz sürümü seçip SQL Server kurulum dosyamızı indiriyoruz.
Link3:http://www.microsoft.com/download/en/details.aspx?id=8961
Burdan da SQL Server Management Studio yu indirip kuralım.
SQL Server ve Management Studio yu kurduktan sonra başlatımızda aşağıdaki gibi görülmeli.

 İkinci Aşamada;
Link4: http://msdn.microsoft.com/tr-tr/library/ff851969.aspx

Northwind Veritabanının kurulumunu burdan takip edebilirsiniz.
Not: Başlat'a cmd yazarak açılan konsolda görüntüdeki işlemleri yapınca Northwind veritabanı otomatik SQL Server ımıza gelecek.
Bu işlemlerden sonra aşağıdaki görüntüyü aldıysak artık gerekli ortamımız hazır demektir.


Ders-3 Geçebilirsiniz.

19 Şubat 2012 Pazar

1. SQL Hakkında Genel Bilgiler

SQL Nedir Kısaca...
  • SQL, ingilizce açık adıyla "Structured Query Language" (Yapılandırılmış Sorgulama Dili) bir veritabanı sorgu dilidir.
  • SQL ile veritabanına yeni tablolar, yeni kayıtlar ekleyip, silebilir, var olanlar üzerinde düzenlemeler ve sorgular yapabilirsiniz.
  • SQL herhangi bir veri tabanı ortamında kullanılan bir alt dildir. 
  • SQL ile Oracle, db2, Sybase, Informix, Microsoft SQL Server, MS Access gibi veritabanı yönetim sistemlerinde çalışabilirsiniz. 
  • SQL, standard bir veritabanı sorgu dilidir, bütün gelişmiş veritabanı uygulamalarında kullanılır.


Not:Bu Blogda temelden Sql öğrenmeye başlayabilirsiniz.

Ders-2'ye Geçebilirsiniz.