Performanslı sorgu yazma endişesi taşıyanlar zaten neden bahsedeceğimi anlamışlardır. :) Çok artistik bir girizgah oldu. :D
Bu ikisi ne yapar, kısaca bahsedersek, iki sorgudan(veya daha çok) dönen sonuç kümelerini birleştirirler. Ancak çok önemli bir farkla..UNION, iki sorgudan dönen kayıtları birleştirirken, duplicate kayıt varsa, yani her iki sorgudan dönen aynı eleman varsa, bunlardan birini eler. Yani bir nevi SELECT DISTINCT yapar.
UNION ALL ise geleni gideni alır. :) Seçici değildir, tüm elemanları birleştirir, duplicate endişesi taşımaz.
Hemen basit bir örnekle açıklayalım. Management Studio'yu açmaya üşendiğimden, burada yazacağım, parse ettiğinizde ufak tefek hataları düzeltirsiniz artık. :)
ErkekIsımleri tablosunda şu elemanlar olsun=Ali, Veli, Deniz
KızIsımleri tablosunda da şu eelmanlar olsun=Ayşe, Fatma, Deniz
select * from ErkekIsımleri
union all
select * from KızIsımleri
--Dönen sonuç kümesi şöyle olacaktır=Ali, Veli, Deniz, Ayşe, Fatma, Deniz
select * from ErkekIsımleri
union
select * from KızIsımleri
--Dönen sonuç kümesi şöyle olacaktır=Ali, Veli, Deniz, Ayşe, Fatma
Gördüğünüz gibi, UNION yaptığımda, Deniz elemanı her iki tabloda da olduğundan, tek bir tanesini aldı. Ancak UNION ALL yaptığımızda, her ikisini de aldı.
Şimdi UNION ALL "kaka", gibi bir imaj uyandırmış olmayalım. :) Aksine, eğer duplicate endişesi taşımıyorsanız, UNION ALL kullanın. Çünkü distinct işlemi, execution plan'da da göreceğiniz üzere ekstra maliyet getirecek ve sorgunun yükünü arttırarak, performansı düşürecektir. Eğer mümkünse UNION ALL tercih edilmeli. Kendimi nedense seyirciyi terse yatırmış yönetmen gibi hissettim bir an. :P :)
Saçmalamaya başlamadan bu kaydı da burada sonlandırmış olayım. :)
6 Ağustos 2011 Cumartesi
SQL İpucu
Bugün oldukça önemli olan ancak pek de dikkat edilmeyen/bilinmeyen bir konu hakkında kısa bilgi vereceğim.
NULL alanlar ile Gruplama Fonksiyonları arasındaki ilişkiden bahsedeceğim.
NULL, yani değer girilmemiş alanlar. Gruplama fonksiyonları, NULL alanları değerlendirmeye katmaz. Konunun özü aslında bu. :) Örneğin:
select min(ücret) from personel;
yazdığınızda size girilen alanlar arasından en küçüğünü döndürecektir. Girilmemiş alanları göz önüne almaz. Tabi böyle bir durumla karşılaşmamak istiyorsanız, NOT NULL constraint'ini koyabilirsiniz.
Daha acı tecrübe olarak şu örneği vereyim:
select count(*) from personel;
select count(ücret) from personel;
Bu iki ifade birbirinden FARKLIDIR! İlk ifade, personel tablosundaki tüm satırların sayısını bize döndürür. Ancak ikinci ifade bize "ücret" kolonundaki satır sayısını döndürür, NULL alanlar HARİÇ! Yani ücreti girilmemiş personel(ler) varsa, bu iki sorgudan dönen sayı farklı olacaktır. Bu ayrıma dikkat etmek gerek. :)
NULL alanlar ile Gruplama Fonksiyonları arasındaki ilişkiden bahsedeceğim.
NULL, yani değer girilmemiş alanlar. Gruplama fonksiyonları, NULL alanları değerlendirmeye katmaz. Konunun özü aslında bu. :) Örneğin:
select min(ücret) from personel;
yazdığınızda size girilen alanlar arasından en küçüğünü döndürecektir. Girilmemiş alanları göz önüne almaz. Tabi böyle bir durumla karşılaşmamak istiyorsanız, NOT NULL constraint'ini koyabilirsiniz.
Daha acı tecrübe olarak şu örneği vereyim:
select count(*) from personel;
select count(ücret) from personel;
Bu iki ifade birbirinden FARKLIDIR! İlk ifade, personel tablosundaki tüm satırların sayısını bize döndürür. Ancak ikinci ifade bize "ücret" kolonundaki satır sayısını döndürür, NULL alanlar HARİÇ! Yani ücreti girilmemiş personel(ler) varsa, bu iki sorgudan dönen sayı farklı olacaktır. Bu ayrıma dikkat etmek gerek. :)
Etiketler:
group functions,
NULL,
sql server,
SQL Tips
2 Ağustos 2011 Salı
Orloj
Bu akşam tarihi bir yapıttan bahsetmek istiyorum. Prag şehrinin en önemli simgelerinden biri: Orloj astronomik saati! Bu saat zamanın çok ilerisinde bir buluş idi ve yapıldığında Avrupa'nın en önemli hadisesi haline geldi.
Yapanlar Avrupa'nın her yerinden övgüler aldı ve ülkelerine davet edildi. Ancak bu saatin yapılması emrini veren kral, bunu yedirememiş ve saati yapanların gözlerine mil çekmiş.Bu saat güneş dünya ve ay'ın konumlarını göstermesi kadar, birçok özelliğiyle de önemlidir.
Öncelikle her saat başı Hz. İsa'nın 12 havarisi saatin üstündeki pencereden görünür. İnsanlar bunu izlemek için saatin çevresinde büyük kalabalıklar oluşturur. Bir ayin kıvamında..
Saatin 4 üstte - 4 altta olmak üzere 8 heykelciği vardır. Üstteki heykelcikler insanlara neler yapmamaları gerektiğini söylerken, alttakiler ise neler yapmaları gerektiğini belirtir. Yapıldığı dönemin de Ortaçağ olduğunu düşününce, insanlara dikte edilmesini anlamak daha kolay olacaktır.
Üstteki kuklalar kısaca şöyle: en baştaki kuklanın elinde ayna var ve kendine bakar. Kibirli olmayın mesajı verilmiş. Yanındakinin ise elinde altın torbası var. Açgözlü olmamayı öğütler. Diğeri ise iskelettir ve hayatı boşa harcamamayı öğütler. Sonuncu heykelin Türk'e benzetildiği söylentisi var. Elinde mandolin gibi bir müzik aleti var. Alemciliği, zevki temsil eder ve bunların yapılmaması öğütlenir.
Alttakiler ise tam tersi: bilime, astronomiye önem ver vs öğütlemektedir. Detaylarını öğrenemedim bu 4 heykelciğin.
Sonra görüşürüz..
Yapanlar Avrupa'nın her yerinden övgüler aldı ve ülkelerine davet edildi. Ancak bu saatin yapılması emrini veren kral, bunu yedirememiş ve saati yapanların gözlerine mil çekmiş.Bu saat güneş dünya ve ay'ın konumlarını göstermesi kadar, birçok özelliğiyle de önemlidir.
Öncelikle her saat başı Hz. İsa'nın 12 havarisi saatin üstündeki pencereden görünür. İnsanlar bunu izlemek için saatin çevresinde büyük kalabalıklar oluşturur. Bir ayin kıvamında..
Saatin 4 üstte - 4 altta olmak üzere 8 heykelciği vardır. Üstteki heykelcikler insanlara neler yapmamaları gerektiğini söylerken, alttakiler ise neler yapmaları gerektiğini belirtir. Yapıldığı dönemin de Ortaçağ olduğunu düşününce, insanlara dikte edilmesini anlamak daha kolay olacaktır.
Üstteki kuklalar kısaca şöyle: en baştaki kuklanın elinde ayna var ve kendine bakar. Kibirli olmayın mesajı verilmiş. Yanındakinin ise elinde altın torbası var. Açgözlü olmamayı öğütler. Diğeri ise iskelettir ve hayatı boşa harcamamayı öğütler. Sonuncu heykelin Türk'e benzetildiği söylentisi var. Elinde mandolin gibi bir müzik aleti var. Alemciliği, zevki temsil eder ve bunların yapılmaması öğütlenir.
Alttakiler ise tam tersi: bilime, astronomiye önem ver vs öğütlemektedir. Detaylarını öğrenemedim bu 4 heykelciğin.
Sonra görüşürüz..
22 Temmuz 2011 Cuma
Neuer vs Ultras
Neuer'in transferinden resmen nefret eden Bayern Münih taraftarlarından bir pankart. :) Borges'de gördüm tesadüfen. Şöyle diyor:"Ne kadar kurtarış yaparsan yap, seni bu formayla asla kabul etmeyeceğiz"
Google Search: Bunu mu Demek İstediniz..
Dün gördüm bu özelliği. Google'da arama yaptığınızda, aramanızın yanlış olduğunu veya daha az popüler olduğunu gören Google, "Bunu mu demek istediniz:" deyip alternatif önerisini sunardı. Üst üste iki kapanma haberinden sonra, "bu özellik de mi artık yok" sanmayın. :) Bu özellik hala var ve geliştirildi. :) Artık birden çok sonuç öneriyor. Şimdilik henüz yolun başında, çünkü 2 kelimede zor yakaladım. :D Türkçe'de hiç bulamadım, muhtemelen şimdilik sadece Google.com'da aktif. Eğer yerli Google'da yakaladığınız kelime olursa, benimle de paylaşın lütfen.
Sonra görüşürüz.
Sonra görüşürüz.
21 Temmuz 2011 Perşembe
Google Directory out Dmoz in
Bu akşam kapatmalardan açıldı konularımız. :) Türkçenin katline şahitlik ettiğiniz girizgahdan sonra, konumuza geçelim= Google Directory de kapandı! Google Search kadar eski olan bu uygulama, artık geçerliliğini kaybetmişti bence de. Milenyumun başında, arama teknolojisi pek de iyi değildi, malumunuz. O dönemde Yahoo Directory ile web için çok değerli bir kaynak iken, şimdilerde sayısız web sitesinin bulunduğu bir ortamda, dizin mantığı ne kadar geçerli, orası tartışılır.
Kararı olumlu bulduğumu belirtiyor ve Dmoz'a destek verme olgunluğunu gösterdiği için kutluyorum. Gerçi Directory alanına bir dışkaynak desteğiyle girdiklerini düşününce, yapılması gereken bir hareketti.
Kendi deyimleriyle konuyu bitiriyorum:"We believe that Web Search is the fastest way to find the information you need on the web". Katılıyorum. :D
Kararı olumlu bulduğumu belirtiyor ve Dmoz'a destek verme olgunluğunu gösterdiği için kutluyorum. Gerçi Directory alanına bir dışkaynak desteğiyle girdiklerini düşününce, yapılması gereken bir hareketti.
Kendi deyimleriyle konuyu bitiriyorum:"We believe that Web Search is the fastest way to find the information you need on the web". Katılıyorum. :D
Google Labs Dükkanı Kapatıyor..
Dün Google bir açıklama yapmış ve Google Labs'ın kapatılacağını duyurmuş. Mevcut popüler(Gmail Labs gibi) ürünlere geliştirme ve desteklerin süreceğini de belirterek, artık yeni fikirlerin ve geliştirmelerin bu platformda yapılmayacağını duyurmuşlar. Zaten Gmail Labs'ın aktif bir kullanıcısı olarak, kaldırılmasına en çok tepki gösterenlerden biri olurdum herhalde. :)
Larry Amcam artık asıl işlerine daha çok odaklanmak istediklerini belirtmiş. Her alana girip de bunu söylemeleri tuhaf olsa da, geçenlerde Google Video ve Google Health'i de sonlandırdıklarını düşününce, bu konuda kararlı oldukları görülüyor.
Günah çıkarmaya çalışan bir velet tarzında olan bu açıklama için sizleri şöyle alalım=http://googleblog.blogspot.com/2011/07/more-wood-behind-fewer-arrows.html
Birçok başarılı projenin Labs'tan çıktığını düşününce, yazık olduğunu düşünüyorum. Bekleyelim görelim..
Larry Amcam artık asıl işlerine daha çok odaklanmak istediklerini belirtmiş. Her alana girip de bunu söylemeleri tuhaf olsa da, geçenlerde Google Video ve Google Health'i de sonlandırdıklarını düşününce, bu konuda kararlı oldukları görülüyor.
Günah çıkarmaya çalışan bir velet tarzında olan bu açıklama için sizleri şöyle alalım=http://googleblog.blogspot.com/2011/07/more-wood-behind-fewer-arrows.html
Birçok başarılı projenin Labs'tan çıktığını düşününce, yazık olduğunu düşünüyorum. Bekleyelim görelim..
16 Temmuz 2011 Cumartesi
Siz de Engellenebilirsiniz!
Başlığı "her insan bir engelli adayıdır" şeklinde verecektim ama bazıları bu cümleyi soğuk ve ürkütücü bulduğundan, bu şekilde yazdım. Ülkemizin belki de en büyük meselelerinden biri ancak en görmezden gelinenlerinden de biri.. Engelli vatandaşlarımız.. Hepimizin engelli eşi dostu vardır. Onlarla olan iletişiminize hiç dikkat etmiş miydiniz? Maalesef birçokları sanki uzaydan gelmiş muamelesi yapıyor ve tuhaf, sanki çok içi burkulmuş edalarıyla bakışlar fırlatıyor. Düşünsenize insanların sürekli bu şekilde size baktığını.. Rahatsız olmaz mısınız? Maalesef kendim de dahil, çoğumuzda bu bilinç yok. Bunu toplumsal kültürümüzün bir eksikliği olarak da görebiliriz belki. Örneğin engellilerle iletişim, davranış şekilleri hususunda milli eğitim müfredatına ders koyan ülkeler var. Neden bizim de bu yönde bir çalışmamız yok, merak ediyorum.
Öyle iğrenç haberler okudum ki engeller hakkında. En meşhuru, bir bakanın "gözlerin görmediği halde iş verdik, daha ne istiyorsun" demesiydi.. Veya duraklarda engellilere tahammülsüzlük. Ya da sizin oy kullanmanıza gerek yok diyen aşağı tipler... Bunları gördükçe, bu konuya acilen eğilmemiz gerektiğini görüyorum. Umarım siyasilerin de çalışmaları vardır.
Geçenlerde bir bayan milletvekilinin mecliste yemin töreni esnasındaki haberlerini görmüşsünüzdür. İşte o haberler, bu konuda nasıl cahil ve gerizekalı olduğumuzun kanıtı. Neler yazılmıştı:"Protezi göründü; yazık kadına;resimler için tıklayın;tüzük değişmeli".. Kıyamet koptu resmen. Oysa arada kendisine yöneltilen mikrofona söylediklerinin haber değeri taşıdığını kimse düşünmemişti. Şöyle demiş hanımefendi:"Protezimin görünmesi beni hiç rahatsız etmiyor. Bacağımı göstermekten çekineceğim tek durum şu olabilir: Karşımda bacağı olmayan, parası olmadığı için protez taktıramayan birini gördüğümde çekinirim, üzülürüm".
Medyaya, tabiri caizse, kapağı takmış. :) Engelli vatandaşlar herhangi bir ayrım istemediği gibi, herhangi bir sınıfsal kategoriye de ayırmıyorlar kendilerini, birçoklarının aksine.. Tek istedikleri, hayatlarındaki engellerin kalkması için bazı iyileştirmeler. En basitinden bugün sağlıklı insanlar bile kaldırımda yürümezken, siz engellilerin nasıl zorlanacağını düşünemezsiniz ki..
Az kalsın unutuyordum, yukarıdaki 9 dakikalık kısa filmde, tüm bu olaylar çok güzel anlatılmış, tesadüfen gördüm. Mutlaka izleyin derim.
Maalesef Şehitler de Ölüyor..
Başlık yanlış anlaşılmasın, manevi anlamda yazmadım onu, sadece tepki anlamında yazdım ki, yazıyı okuyunca az çok anlayacaksınız.
Yeni bir olay gibi yazılıp çiziliyor ama yıllardır devam ediyor ve hatta geçen hafta da yanlış hatırlamıyorsam 7 şehit verdik. Ancak toplu olmayınca, yankı uyandırmadı kamuoyunda nedense! Bu sorun, olay yazmakla bitmez, o yüzden kısa kısa bazı yönlerini ele alalım.
Öncelikle sanal bir millet olmuşuz, bu kesinleşti. Gösterdiğimiz tepkiler, yazılan galeyana getirici bir cümleyi "beğen"mek veyahut hüzünlü/kahramanvari bir videoyu izlemek/izlettirmek. İşte Türk Milletinin artık verdiği tepki şekli. Orduya dil uzatanları koruyacaksın, okuyacaksın, destek vereceksin.. Sonra sokaklarda içi pek de dolu olmayan nutuklar atacaksın. Samimi geliyor mu sizlere? Lafla peynir gemisi yürüseydi..
13 eve ateş düşmüş, sözde medya işi gücü bırakmış, askerler kötü yönetildi diyor. Dışarda komutan kalmadığından olabilir mi acaba? Hani orduyu yönetmesi gereken komutanlar? Yargı sürecindeki konular hakkında yazmak da istemiyorum ama sizlere kendinize sormanız için sorular yöneltiyorum... Her alanda dalga dalga operasyon var. Olmasın, yapılmasın vs demiyoruz tabi ki.. Aksine varsa bir sorun kökünden çözülmeli.. Ancak.. Dalgası bol operasyonların milletin zihninde oluşturduğu karmaşa ve uyuşma ile arada çok pis kazıklanabiliriz, aman dikkat! Bu ifade bende bir teori olarak kalsın, anlamayan da kendini çok kasmasın, sadece süreçte kendini korusun.
Bir yazar yazmıştı, bir namazlık saltanatları var diye.. Hakikaten de öyle.. Sonrasında hepsi unutuluyor maalesef ve ateş düştüğü yeri yakıyor sadece. Bu kardeşlerimiz anılmadıkça, unutuldukça da böyle kara haberler almaya devam ediyoruz.
Son bir konuya değinmek istiyorum, konumuzla alakalı.. Geçen caz konserinde bir tatsızlık yaşanmış. Seyirciler Aynur Doğan'ın Türkçe şarkı söylememesine tepki vermişler. Şehitlerin kanı daha kurumadı gibi ifadeler kullanılmış.. Şimdi kimse kusura bakmasın ama madem şehitlerin kanı daha kurumadı, olay daha çok taze, senin o konserde ne işin var? Diyorum ya, samimiyet yok diye, neresinden tutsak bu böyle.. Şehidim var diyorsun, konsere eğlenmeye gidiyorsun, şizofrenik bir davranış, kendi içinde çelişiyor. (Bunlar şahsi görüşlerim, beğenmeyen arkadaşlar terbiyesizce postalar atmasın, okumam bile.)
Ve bu davranış çok tehlikelidir. Ne zamanki her sakallıyı hoca, her Ulu Önder'imizin rozetini takanı Atatürkçü, her Doğuluyu terörist görmezsek, ancak o zaman adam oluruz. Yoksa bu devran böyle sürer maalesef. Allah ülkemizi bu tip sahtekarlardan korusun diyor, şehitlere Allah'tan rahmet diliyorum.
Birazdan görüşürüz.
Yeni bir olay gibi yazılıp çiziliyor ama yıllardır devam ediyor ve hatta geçen hafta da yanlış hatırlamıyorsam 7 şehit verdik. Ancak toplu olmayınca, yankı uyandırmadı kamuoyunda nedense! Bu sorun, olay yazmakla bitmez, o yüzden kısa kısa bazı yönlerini ele alalım.
Öncelikle sanal bir millet olmuşuz, bu kesinleşti. Gösterdiğimiz tepkiler, yazılan galeyana getirici bir cümleyi "beğen"mek veyahut hüzünlü/kahramanvari bir videoyu izlemek/izlettirmek. İşte Türk Milletinin artık verdiği tepki şekli. Orduya dil uzatanları koruyacaksın, okuyacaksın, destek vereceksin.. Sonra sokaklarda içi pek de dolu olmayan nutuklar atacaksın. Samimi geliyor mu sizlere? Lafla peynir gemisi yürüseydi..
13 eve ateş düşmüş, sözde medya işi gücü bırakmış, askerler kötü yönetildi diyor. Dışarda komutan kalmadığından olabilir mi acaba? Hani orduyu yönetmesi gereken komutanlar? Yargı sürecindeki konular hakkında yazmak da istemiyorum ama sizlere kendinize sormanız için sorular yöneltiyorum... Her alanda dalga dalga operasyon var. Olmasın, yapılmasın vs demiyoruz tabi ki.. Aksine varsa bir sorun kökünden çözülmeli.. Ancak.. Dalgası bol operasyonların milletin zihninde oluşturduğu karmaşa ve uyuşma ile arada çok pis kazıklanabiliriz, aman dikkat! Bu ifade bende bir teori olarak kalsın, anlamayan da kendini çok kasmasın, sadece süreçte kendini korusun.
Bir yazar yazmıştı, bir namazlık saltanatları var diye.. Hakikaten de öyle.. Sonrasında hepsi unutuluyor maalesef ve ateş düştüğü yeri yakıyor sadece. Bu kardeşlerimiz anılmadıkça, unutuldukça da böyle kara haberler almaya devam ediyoruz.
Son bir konuya değinmek istiyorum, konumuzla alakalı.. Geçen caz konserinde bir tatsızlık yaşanmış. Seyirciler Aynur Doğan'ın Türkçe şarkı söylememesine tepki vermişler. Şehitlerin kanı daha kurumadı gibi ifadeler kullanılmış.. Şimdi kimse kusura bakmasın ama madem şehitlerin kanı daha kurumadı, olay daha çok taze, senin o konserde ne işin var? Diyorum ya, samimiyet yok diye, neresinden tutsak bu böyle.. Şehidim var diyorsun, konsere eğlenmeye gidiyorsun, şizofrenik bir davranış, kendi içinde çelişiyor. (Bunlar şahsi görüşlerim, beğenmeyen arkadaşlar terbiyesizce postalar atmasın, okumam bile.)
Ve bu davranış çok tehlikelidir. Ne zamanki her sakallıyı hoca, her Ulu Önder'imizin rozetini takanı Atatürkçü, her Doğuluyu terörist görmezsek, ancak o zaman adam oluruz. Yoksa bu devran böyle sürer maalesef. Allah ülkemizi bu tip sahtekarlardan korusun diyor, şehitlere Allah'tan rahmet diliyorum.
Birazdan görüşürüz.
Kaydol:
Kayıtlar (Atom)


