Posted by yasin | Posted in SQL | Posted on 05-11-2008
Vereceğim bilgiler yüksek seviye olmasa da işe yarayacak bilgiler.
Örnekler üzerinden giderek Sql”de geçiçi tablolar, truncate, insert ve bulkcopy hakkında bilgi vereceğim.
Geçici Tablolar
Aşağıdaki kod ile Temp1 isminde geçici bir tablo oluşturduk.
SELECT * INTO #Temp1 FROM uyeler |
Aşağıdaki kod ile ise geçici tablomuzdaki verilere ulaşabiliriz.
Aşağıdaki kod ile Temp2 isminde bir geçici tablo oluşturduk
SELECT * INTO ##Temp2 from uyeler |
Yukarıdaki örneklerde dikkat ettiyseniz birinde tek # diğerinde 2 # işareti var bunun anlamı
Sqlserver için tek # local çift # global anlamına gelir yani yarattığımız geçici bir tabloya sadece o pencere içinde ulaşmak için tek
bağlı olan her uygulamadan erişmek için ise çift ## işareti kullanırız.
Temp2′deki verileri listeleeriz.Geçici tablolar systemdatabases altında Temp Db”de oluşur
Geçici tablolarımızı silmek için kodunu kullanırız.
Read the rest of this entry »
Posted by Zafer | Posted in SQL | Posted on 05-11-2008
SQL ‘de sorgu veya tablo sonuçlarını yatay ve düşey olarak birleştirebiliriz. Yatay birleştirmeler için JOIN ifadeleri kullanılırken ,dikey birleşimler için ise UNION deyimi kullanılır.
JOIN İfadeleri:
INNER JOIN :
İki tablo arasında birleştirme işlemi yaparken, tablolardan sadece birinde yer alan kayıt sonuçlarını görmek için kullanılır. Yani ana tabloda yer alan fakat yardımcı tabloda eşleştirmesi bulunmayan kayıtlar sorgu sonucunda gösterilmez.
Read the rest of this entry »
Posted by Zafer | Posted in SQL | Posted on 16-10-2008

Eğer Sql 2005 kullanmaktaysanız ve Sql 2008 ile birlikte gelen , kullanım kolaylığı sağlayan “intellisense” özeliğine sahip olmak istiyorsanız “SQL Tool Belt” adlı programı yükleyerek hızınızı bir kat daha arttırabilirsiniz. Eklentiye bu adresten sahip olabilirsiniz.
Posted by Zafer | Posted in SQL | Posted on 22-09-2008
Önerilmez
SELECT DISTINCT product_id, name FROM products pr, purchase pu
WHERE pr.product_id = pu.product_id |
Önerilir
SELECT product_id, name FROM products pr
WHERE EXISTS ( SELECT 1 FROM purchase pr WHERE pr.product_id = pu.product_id) |
Sorguda gelen kayıtlarda tekrarlı olanları görüntülememek için DISTINCT kullanılır. EXISTS ise bir alt
sorguda gelen kayıtlar içinde istenilenlerin olup olmadığını kontrol eder. DISTINCT, gelen sonuçlarda
tekrarlı olanları belirlemeden önce sıralama yaptığıdan verimsizdir ve bu yüzden de EXISTS tercih
edilmelidir.
Kaynak : SQL Tuning El Kitabı call 7/24
Posted by Zafer | Posted in SQL | Posted on 22-09-2008
Önerilmez
SELECT product_id, name FROM products
WHERE product_id IN ( SELECT product_id FROM purchases ) |
Önerilir
SELECT product_id, name FROM products pr
WHERE EXISTS ( SELECT 1 FROM purchases pu WHERE pu.product_id = pr.product_id ) |
IN bir listede aranan verinin olup olmadığını kontrol eder. EXISTS sadece kayıtların varlığını kontrol
ederken, IN ise gerçek verileri kontrol eder. Alt sorgularda EXISTS daha iyi sonuçlar verdiğinden tercih
edilmelidir.
Kaynak : SQL Tuning El Kitabı call 7/24