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

4 Aralık 2016 Pazar

68. SQL AUTO INCREMENT Kullanımı

  • Bazı veritabanı işlemlerimizde her bir kaydın eşssiz(unique) bir değeri olmasını isteyebilir, ilerideki işlemlerde bu değer üzerinden datalarımıza erişmek isteyebiliriz. Bu gibi durumlarda tablolarımızda bir kolonu sayı tipinde yapıp bir kural çerçevesinde (örneğin her yeni kayıt ekleme işleminde 1 arttır gibi) değiştirerek bunu sağlayabiliriz.
  • Sadece sayılarda kullanılan bu Auto-Increment özelliği ile değerimizin otomatik artmasını sağlayarak benzersiz bir değere atamış oluruz.
Örnek;

CREATE TABLE  Meyveler
(
id int IDENTITY(1,1) PRIMARY KEY,
adi varchar(20),
renk varchar(10),
tur varchar(20)
)

  • MsSQL de otomatik sayı arttırım IDENTITY(value1,value2) özelliği ile yapılmaktadır.
  • value1 başlangıç değerini belirtir.
  • value2 ise artış miktarını göstermektedir.
  • Yukardaki örneğimizde tablodaki id alanı 1 den başlayacak ve birer birer artacak şekilde insert edecek. Örneğin id alanımız 1000den başlasın ve sadece çift sayılar tutsun istiyorsak şu şekilde tanımlamalıyız: IDENTITY(1000,2)

21 Temmuz 2012 Cumartesi

46.CREATE İşlemleri

  • Veritabanındaki nesneleri oluşturmak için kullanılır.
SÖZ DİZİM: CREATE <Nesne_Adı>

SORGULAR:
CREATE DATABASE Animals
//Animals isminde yeni bir veritabanı oluşturulur.

CREATE TABLE Birds(BirdId INT,Name VARCHAR(25) )
//Bu sorguda veritabanımızda yeni bir tablo oluşturduk. Kuşlar tablomuz birdId ve Name sütunlarından oluşmaktadır.

Ders 47'ye geçebilirsiniz.

25 Mayıs 2012 Cuma

35. SUBQUERIES-Sonuç Listesinin Tablo Olarak Kullanılması

  • Sorgularımızda FROM dan sonra tanımladığımız tablo bağlanıtısı yerine tablo değilse sorgu yazabiliriz. 
  • Sonucunda da ilerde bahsedeceğim TEMP TABLE kullanmış oluruz. 
  • Dönen sonuç listesi temp tablo gibi kullanılıp AS ile ad verilip sütunlarını istediğimiz gibi kullanabiliriz.
Örnek: Sorgumuzda Çalışan tablomuzdan bize lazım olanları alıyoruz. Daha anlaşılabilir hale getirip temp tablomuzu kullanarak yeni bir sorguya bağlıyoruz.

Sorgu: 
SELECT Calisan.Kimlik, Calisan.Isim, Calisan.Soyad FROM
(SELECT EmployeeID AS Kimlik,LastName AS Soyad,FirstName AS Isim FROM Employees)
 AS Calisan


Ders 36'ya geçebilirsiniz.

33. UNION Kullanımı

  • Bazen sonuç kümesinin tek olmasını isteriz. 
  • Yani birden fazla yazdıgımız SELECT sorgularından dönen sonuç listeleri sorgu sayısı kadardır. 
  • Bunu tek bir sonuç listesinde döndürmek için UNION kullanırız. 
  • Görüntülenecek olan tablolar aynı veritüründe aynı sayıda ve aynı düzendeki sütunlardan oluşmalıdır.

Örnek: Aşağıdaki örnekte Çalışanlar (Employees) tablosu ve Yön(Region) tablosu verileri birleştirilmiştir. Birinci sorgunun SELECT ifadesindeki takma adın görüntülendiğine dikkat edin.

Sorgu: 
SELECT EmployeeID,City FROM Employees UNION
SELECT RegionID,RegionDescription FROM Region



Ders 34 'e geçebilirsiniz.

15 Nisan 2012 Pazar

17. SQL Toplam Fonksiyonları

1-) AVG Fonksiyonu
  • Aritmetiksel ortalama (avarage) hesaplamak için kullanılır.  
  • Bu hesaplama sırasında boş (NULL) değerler işleme katılmaz.  
  • AVG fonksiyonu ile koşula bağlı olarak hesaplamalarda yaptırılabilir. 
Söz dizimi: AVG (<Sutun Adı>)

Örnek: Örneğimizde 1. kategorideki ürünlerimizin birim fiyatlarını biliyoruz. İstediğimiz bu kategorideki ürünlerimizin ortalamala birim fiyatları bulmak.
Sorgu:  SELECT AVG(UnitPrice) AS 'Ortalama Birim Fiyatı' FROM Products WHERE CategoryID=1


          2-) MAX Fonksiyonu
  • Tablo içinde, belirtilen sütun (alan) içindeki en büyük değeri bulur.  
  • 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. 
Söz dizimi: MAX (<Sutun Adı>)

Örnek: Bu örneğimizde 1. kategorideki birim fiyatı en yüksek olan ürünümüzü buluyoruz.
Sorgu: SELECT MAX(UnitPrice) AS 'En Düşük Fiyat' FROM Products WHERE CategoryID=1 


3-) MIN Fonksiyonu
  • Tablo içinde belirtilen sütun (alan) içindeki en küçük değeri bulur. 
  • MIN fonksiyonu bir sütundaki kayıtlardanki en küçük değeri verir. Boş (NULL) değerler işleme katılmaz.  
  • MIN fonksiyonu alfabetik sıralamadaki son metinsel ifadeyi de bulmamızı sağlar.
Söz dizimi: MIN (<Sutun Adı>)

Örnek: Bu örneğimizde 1. kategorideki birim fiyatı en düşük olan ürünümüzü buluyoruz.
Sorgu: SELECT MIN(UnitPrice) AS 'En Yüksek Fiyat' FROM Products WHERE CategoryID=1


4-) SUM Fonksiyonu
  • Fonksiyonla belirtilen sütun ile ilişkili olarak toplama işlemini yapar. 
  • SUM fonksiyonu belirtilen sütundaki sayısal değerlerin bir toplamını geri döndürür. 
Söz dizimi: SUM (<Sutun Adı>) 

Örnek: Bu örneğimizde de 1.kategorideki ürünlerimizin toplam birim fiyatlarını buluyoruz.
Sorgu: SELECT SUM(UnitPrice) AS 'Toplam Fiyat' FROM Products WHERE CategoryID=1


       5-) COUNT Fonksiyonu

Ders-18'e 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.



14. SQL de Matematiksel ve Metinsel işlemler

  • Tablolardaki alanları kullanarak daha etkili ve kesin sonuça dönük sorgular yapmak için SQL deki matematiksel ve metinsel ifadeleri kullanabiliriz.
  • SQL matematiksel işlemlerin sonucunu otomatik olarak üretmeyi sağlayan fonksiyonlara sahiptir.

(Örneğimizde Birim fiyat (UnitPrice) alanı Miktar(Quantity) alanı ile çarpılarak toplam fiyat hesaplanmış ve “TotalCost” adı ile yeni bir alan olarak görüntülenmiştir.)

Sorgu: SELECT OrderID, ProductID,(UnitPrice * Quantity) AS TotalCost
            FROM [Order Details]
           WHERE (UnitPrice * Quantity) > 10000


Ders 15 'e geçebilirsiniz.

13. SQL ORDER BY


  • ORDER BY yantümcesi satırları, belirtilen sütun(lar)a 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 yönü belirtilmez ise SQL veriyi artan şekilde sıralar.
  • Sıralama yapılacak alanlar SELECT ifadesinde yer almak zorunda değildir.
Söz dizimi:    
            SELECT <sütun ad(lar)ı> FROM <tablo adı>
            ORDER BY <sütun adı><sıralama yönü>,<sütun adı><sıralama yönü>

(Bu örneğimizde CategoryID alanına göre artan ,bu CategoryID nin kendi içinde aynı değerler arasındada Unitprice değerini azalan olarak sıralandığını göreceğiz.) 

Sorgu: SELECT ProductID, ProductName,
CategoryID, UnitPrice
FROM Products
ORDER BY CategoryID ASC, UnitPrice DESC
 



Ders-14 'e geçebilirsiniz.

25 Mart 2012 Pazar

11. NULL Değerler

  • Veri girişi esnasında, alana herhangi bir değer yazılmazsa ve alan için herhangi bir varsayılan (default) değer atanmamışsa alanda boş (null) değeri saklanır.  
  • Null değeri boşluk (‘ ‘) veya sıfır (0) değerinden farklıdır. 
  • Belirli bir alanına hiçbir değer girilmemiş kayıtları listelemek için IS NULL arama kriteri kullanılır. 
  • Bir tablodaki hangi alanların varsayılan değerleri olacağına veya alanın NULL değere izin verip vermediğine, tablo tasarımı sırasında karar verilir. 
  • Eğer boş olmayan satırları listelemek gerektiğinde IS NOT NULL arama kriterini kullanılır. 
(Örneğimizde fax numaraları girilmemiş ve default değer atanmamış firmaları sorgulayalım.)

Sorgu:  SELECT CompanyName,City,Fax FROM Suppliers WHERE Fax IS NULL





(Fax numaraları girilmiş firmaları sorgulayalım.)

Sorgu: SELECT CompanyName,City,Fax FROM Suppliers WHERE Fax IS NOT NULL




Ders-12' ye 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.


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.