Bu eğiticide, MySQL türetilmiş tablosu ve karmaşık sorguları basitleştirmek için nasıl yapılacağı hakkında bilgi edineceksiniz.
Türetilmiş bir tablo, bir SELECT ifadesinden döndürülen sanal bir tablodur. Türetilmiş bir tablo geçici bir tabloya benzer, ancak SELECT ifadesinde türetilmiş bir tablo kullanmak, geçici bir tablodan daha basittir çünkü geçici tablo oluşturma adımlarını gerektirmez.
Türetilmiş tablo ve alt sorgu terimi genellikle birbirinin yerine kullanılır. Bir SELECT ifadesinin FROM yan tümcesinde tek başına bir alt sorgu kullanıldığında, buna türetilmiş bir tablo diyoruz.
Aşağıda türetilmiş bir tablo kullanan bir sorgu gösterilmektedir:
Tek başına bir alt sorgunun, onu içeren ifadeden bağımsız olarak yürütebilen bir alt sorgu olduğunu unutmayın. Ayrıca as kullanımı zorunlun değildir.
İlginizi çekebilir: MySQL Dersleri
Bir alt sorgudan farklı olarak, türetilmiş bir tablonun bir diğer adı olmalıdır, böylece daha sonra sorguda onun adına başvurabilirsiniz. Türetilmiş bir tablonun diğer adı yoksa, MySQL aşağıdaki hatayı verir:
1 2 3 | Every derived table must have its own alias. |
Aşağıdaki türetilmiş bir tablo kullanan bir SQL deyimini gösterir:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | SELECT ogrno, adet FROM ( SELECT ogrno, COUNT(islemno) as adet FROM islem GROUP BY ogrno ) as liste WHERE liste.adet>5 AND liste.adet<10 |
Daha karmaşık bir MySQL türetilmiş tablo örneği
Öğrencilerin okudukları kitapların adetleri tutulmaktadır. Öğrencilere her okuduğu kitap sayısı için bazı özel ünvanlar verilmektedir. Ünvan verilme şartları aşağıdaki gibi oluşturulmuştur.
- 10 kitaptan az kitap okuyan öğrenciye KÖTÜ OKUR
- 10-15 arasında kitap okuyan öğrenciye İYİ OKUR
- 15 üzerinde kitap okuyan öğrenciye HARİKA OKUR
olmak üzere ünvanlar verilmektedir. Bu işlemi yapan sorgu ve çıktısı aşağıdaki gibidir.
Çıktısı aşıdaki gibi oluşacaktır.
İlginizi çekebilir: MySQL Alt Sorgular
Türetilmiş sorgular üzerinde diğer tüm SQL tümcelerinde olduğu gibi çeşitli sıralama ve filtreleme işlemlerini yapabiliriz.
Aşağıdaki örnekte Durumlara göre gruplama yapıp hangi gruptan kaç tane okur olduğunu tespit edebiliriz.
Bu eğiticide, karmaşık sorguları basitleştirmek için FROM yan tümcesinde alt sorgu olan MySQL türetilmiş tabloların nasıl kullanılacağını öğrendiniz.
1 Yorum