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

21 Temmuz 2012 Cumartesi

45. DELETE Kullanımı

  • DELETE ifadesi tablomuzdaki bir veya birden fazla kayıdın silinmesini sağlar. 
  • Eğer koşul belirtmessek bütün kayıtları tablomuzdan siler. O yüzden DELETE ifadesini kullanırken dikkat etmeli ve BEGIN TRANSACTİON ..yapısını kullanmamız önem arz etmektedir.
SÖZ DİZİMİ: DELETE FROM Table
                       WHERE <Sütun_Adı>=<Koşul_Değeri>

ÖRNEK: Sorgumuzda Employees tablumuzdaki bir kayıdı silmek isteyelim.

SORGU: SELECT * FROM Employees
                DELETE FROM Employees WHERE EmployeeID=10
                SELECT * FROM Employees

Ders 46'ya Geçebilirsiniz.

18 Temmuz 2012 Çarşamba

43.INSERT INTO... VALUES Kullanımı

  • INSERT INTO Deyimi bir tabloya yeni kayıt eklemek için kullanılır.
  • Önce gördüğümüz INSERT Deyiminden farklı olarak sadece istediğimiz sütunlara da kayıt işlemi yapabiliriz.
  • 2 farklı kullanım şekli vardır.
1-) Söz Dizimi 

 INSERT INTO tablo_ismi (kolon1, kolon2, kolon3,...)  
VALUES (deger1, deger2, deger3,...)

2-) Söz Dizimi

INSERT INTO tablo_ismi  
VALUES (deger1, deger2, deger3,...)

ÖRNEK: Çalışan tablomuza sadece isim ve soyad bilgilerini girerek yeni bir kayıt ekleyebiliriz.

SORGU:INSERT INTO Employees(LastName,FirstName)
               VALUES ('Cücü','Cüneyt')


Ders 44'e geçebilirsiniz.

26 Mayıs 2012 Cumartesi

36. SUBQUERIES-Sonuç Listesinin Deyim Olarak Kullanılması

  • Sorgularımızda başka bir sorguyu deyim yani yeni bir parametre olarak kullanabiliriz. 
  • Bu amaç için kullanacağımız sorgu ya tek satır sonuç döndürmeli yada tek bir sütun değer listesi döndürmeli.
  • Bir değerler listesi geri döndüren sorgular IN anahtar kelimesi içeren WHERE yantümcesi yerine kullanılabilir. 
Örnek: Sorgumuzda ortalamayı bulup satılan ürünlerimiz ayrıntılı birim fiyatlarını ve bu birim fiyatlarının genel ürün potansiyelinde ortalama ürün fiyatına oranla durumunu göstermekte. Burda alt sorguları kullanarak daha anlaşılabilir sorgu yazabiliriz.

Sorgu: 
SELECT ProductName,UnitPrice,UnitsinStock,
(SELECT AVG(UnitPrice) FROM Products) AS Average,
UnitPrice-(SELECT AVG(UnitPrice) FROM Products) AS Difference
FROM Products 



Ders 37' geçebilirsiniz.

22 Mayıs 2012 Salı

32. SELF-JOINS Kullanımı

  • Bir tablonun kendisiyle JOIN işlemine tutulmasına SELF-JOIN işlemi denir. 
  • Tablodaki aynı değerleri içeren farklı kayıtlar mevcutsa bunları listeleyebilmek için kendisiyle birleştiririz.  
  • Bir tablo içinde bulunan satırlar arasında referans ilişkisi varsa, o tablo için farklı takma adlar (alias) kullanılarak JOIN sorguları gerçekleştirilebilir. 
  • Çok kullanılan bir yöntem değildir.
 Örnek: Aşağıdaki sorgumuzda aynı tabloyu kendisiyle birleştirdik. Daha çok SELF-JOIN işlemini aynı değerleri olan farklı kayıtlar üzerinde işlem yaparken kullanmalıyız. Örnekte basitce aynı tablo içi kıyaslama yaptık. SicilNo olarak her çalışanın altında olan çalışanları listeledik.

Sorgu: 
SELECT a.employeeid AS SicilNo,a.lastname,a.title
,b.employeeid AS AltSicilNo, b.lastname ,b.title
FROM employees AS a
INNER JOIN employees AS b
ON a.title=b.title
WHERE a.employeeid < b.employeeid
ORDER BY a.employeeid



Ders 33'e geçebilirsiniz.

20 Mayıs 2012 Pazar

30. OUTER JOIN- CROSS JOIN Kullanımı

  • CROSS JOIN işlemiyle bağladığımız bütün tablolar herhangi bir kısıtlamaya uğramadan olası tüm eşleşmeler sonuç listesinde gösterilir. 
  • Belirli bir ortak alan belirtmeye gerek yoktur.
Örnek: Sorgumuzda 8 tane kategori çeşidi bulunmaktadır. CROSS JOIN yaptığımızda Region tablosuna ait 4 kayıt herbir Çeşit kayıdına bağlanır. Yani 32 tane kayıt listelenir. Çünkü tablolar arası herhangi bir ortak eşleşme tanımlanmamıştır.

Sorgu: SELECT * FROM Categories CROSS JOIN Region


Ders 31'e geçebilirsiniz.

12 Mayıs 2012 Cumartesi

26. SQL JOIN İşlemleri

  • Bundan önceki derslerimizde hep tek tablo üzerinde çalıştık. 
  • Bazı durumlarda daha anlamlı ve geniş sonuç kümeleri elde edebilmek için birden fazla tablonun verilerine ihtiyacımız olabilir. 
  • Bunun için sorgularımızda iki farklı anahtar kelime daha kullanırız. 
  • Bu anahtar kelimeler JOIN ve ON ifadeleridir. 
  • JOIN ifadesi ile hangi tabloları ve nasıl birleştireceğimizi belirtiriz. 
  • ON ifadesi ile de birleştireceğimiz tabloları hangi alanlar üzerinden bağlayacağımıza karar veririz.
  •  Genelde tablolar Birincil anahtar (Primary Key) ve Yabancı anahtar (Foreign key) üzerinden birleştirilsede diğer alanlar üzerindende birleştirilebilir. Sadece bu alanların aynı türden veri içerdiğinden emin olmanız yeterlidir. 
  • Birincil anahtar (Primary Key) her kayıt için benzersiz (unique) bir değer taşıyan alandır. Örneğin Kişi bilgilerinin tutulduğu bir tabloda TC Kimlik No herkesin farklı olduğu için Primary key olarak kullanılabilir. TC Kimlik No herkesin farklı olduğu için bütün bilgiler bu no üzerinden farklı tablolarda bilgiler tutulabilir.
Ders 27'ye geçebilirsiniz.

6 Mayıs 2012 Pazar

25. COMPUTE ve COMPUTE BY Kullanımı

  • COMPUTE ifadesi tüm sonuç listemizi bize gösterir. 
  • Farklı olarak tek sorguda 2 tane sonuç listesi bize döndürür. 2.liste detay listesidir. 
  • Dikkat etmemiz gereken COMPUTE ile kullandığımız sütun SELECT ifadesinde yer almalıdır. 
  • COMPUTE anahtar sözcüğü sorgumuzdaki sütunlara toplam fonksiyonları uygulamamıza izin verir.
  • COMPUTE BY ile detaylı gruplandırma yapılabilir.
Örnek: Sorgumuzda ürün idsi 3 den küçükleri listeliyoruz. Ayrıntı olarak 2. sonuç kümemizde ürün id si 1 ve 2 olan ürünlerimizin sipariş adetine bakıyoruz.
Sorgu:
SELECT ProductId, OrderId, Quantity
FROM [Order Details]
WHERE ProductId<3
ORDER BY ProductId, OrderId
COMPUTE SUM(Quantity)






Örnek:  Bu sorgumuzda COMPUTE BY nasıl kullanılır onu görüyoruz. Ara toplamlara girerek ayrıntılı sorgulama yapıyoruz. Bu sorgumuzda amacımız hangi ürün id den ne kadar sipariş edilmiş onu öğrenelim.
Sorgu:
SELECT ProductId, OrderId, Quantity
FROM [Order Details]
WHERE ProductId<3
ORDER BY ProductId, OrderId
COMPUTE SUM(Quantity) BY ProductId


Ders 26 'ya geçebilirsiniz.

8 Nisan 2012 Pazar

16. AS Kullanımı (Tablo ve Sütunların Yeniden Adlandırılması)


  • Sonuç kümelerindeki sütun adları varsayılan olarak tablodaki alan adlarıdır. 
  • AS yardımcı kelimesini kullanarak sütunları farklı adlarla görüntüleyebiliriz.
  • Aynı şekilde uzun tablo isimlerini de kullanımı daha kolay olacak şekilde değiştirebiliriz.

Söz dizimi: SELECT <sütun adı> AS <yeni ad> FROM <tablo adı> AS <yeni tablo adı>

Örnek: Yön açıklamasını hem istedigimiz dilde hem de daha kısa bir açıklamayla gösterdik.

Sorgu: SELECT  RegionDescription AS [Yön] FROM Region

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

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.

13 Mart 2012 Salı

8. Mantıksal Operatörler

  • AND , OR , NOT mantıksal operatörlerinin yardımıyla birden fazla koşulun gerçekleşimini sağlayarak karmaşık veya birleşik koşullu listelemeler yapabiliriz. 
  • BETWEEN ifadesi de AND operatörü ile aynı işlemleri gerçekleştirebilmektedir. 
  • AND operatörünün anlamı, birleştirilen koşulların tümüne uyan kayıtları bize listeler. 
  • OR operatörünün anlamı, tanımladığımız koşullardan en az bir tanesine uyan kayıtları listeler. 
  • NOT operatörü ise kendisinden sonra gelen koşulu sağlamayan kayıtları listeler. 
  • 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.

Söz Dizimi:      SELECT <sütun adı> FROM <tablo adı>
                        WHERE <koşul> AND <koşul>[AND <koşul>...]

(Öreğimizde Japonya'daki veya Londra'daki üreticileri listelemek istediğimizde;)
Sorgu: SELECT CompanyName,ContactName,City,Country FROM Suppliers WHERE 
                    Country='Japan'  OR  City='London'




(3 veya 4. kategorideki birim fiyatı 10$'dan yüksek ürünleri listelemek istersek; )
Sorgu: SELECT * FROM Products WHERE (CategoryID=3 OR CategoryID=4) AND UnitPrice>10


Ders-9 'a  geçebilirsiniz.