Bir "alt sorgu", veritabanları bağlamında, özellikle modern veritabanı yönetim sistemlerinin (DBMS) merkezinde yer alan Yapılandırılmış Sorgu Dili (SQL) işlemleri alanında oldukça kullanışlı ve güçlü bir kavramdır. İç içe sorgu veya iç sorgu olarak da bilinen bir alt sorgu, genellikle parantez içine alınmış başka bir sorgunun içine katıştırılmış bir sorgudur. Birden çok tablodan verilerin alınmasına ve değiştirilmesine izin verir, böylece karmaşık ve girift veri işlemlerinin etkili ve verimli bir şekilde gerçekleştirilmesine olanak tanır.
Alt sorgular, SELECT, INSERT, UPDATE, DELETE ve diğer ifadeler dahil olmak üzere çeşitli SQL işlemlerine dahil edilebilir ve WHERE, HAVING, FROM ve diğerleri gibi çeşitli SQL yan tümceleriyle birlikte kullanılabilir. Tek bir sorgu, karmaşık veri seçimini veya filtreleme gereksinimlerini verimli bir şekilde işleyemediğinde özellikle yararlıdırlar. Bir alt sorgunun sonucu tek bir değer (skaler), tek bir satır veya sütun (satır veya sütun alt sorgusu) veya bir tablo (tablo alt sorgusu) olabilir.
AppMaster no-code platform bağlamında, alt sorguların kapsamlı bir şekilde anlaşılmasının oluşturulan uygulamaların artan verimliliğine ve ölçeklenebilirliğine katkıda bulunabileceği göz önüne alındığında, alt sorgular ayrıntılı veri modelleri ve iş mantığı tasarlamak ve uygulamak için çalışan kullanıcılar için paha biçilmez bir varlık olabilir. Küçük işletmelerden büyük işletmelere kadar çeşitli kullanıcılara hitap eden AppMaster platformu, belirli iş gereksinimlerine ve mantığına hitap edebilen daha dinamik ve uyarlanabilir uygulamalara olanak sağladığından, iyi yapılandırılmış alt sorguları birleştirmekten önemli ölçüde fayda sağlayabilir.
Alt sorgular, dış sorgu ile iç sorgu arasındaki ilişkiye bağlı olarak ilişkili veya ilişkisiz olarak sınıflandırılabilir. İlişkili bir alt sorgu, alt sorgunun yürütülmesi için dış sorgudan gelen verilere dayandığı ve dış sorgudaki her aday satır için alt sorgunun yürütülmesini gerektiren sorgudur. Bu, kaynak yoğun olabilir ve potansiyel olarak sistemi yavaşlatabilir. Tersine, ilişkisiz bir alt sorgu, dış sorgudan bağımsız olarak çalışır ve yalnızca bir kez yürütülerek, daha sonra dış sorgu tarafından kullanılan sonuçları getirir. İkincisi genellikle ilişkili alt sorgulardan daha etkilidir, ancak her iki türün de kendine özgü kullanım durumları vardır.
Aşağıda, farklı SQL deyimlerindeki birkaç alt sorgu örneği verilmiştir:
1. Alt sorgu içeren SELECT ifadesi:
sütun1, sütun2'yi SEÇİN tablo1'den WHERE sütun1 IN (tablo2'DEN sütun1'i SEÇİN);
Bu örnekte, alt sorgu, tablo2'nin sütun1'inden değerleri alır ve dış sorgu, sütun1'in değerinin alt sorgu tarafından alınan herhangi bir değerle eşleştiği tablo1'den satırları seçer.
2. Bir alt sorgu içeren UPDATE ifadesi:
GÜNCELLEME tablo1 SET sütun1 = 'bazı_değer' WHERE sütun2 = (TABLO1'DEN MAKS(sütun2) SEÇİN);
Bu örnek, bir UPDATE ifadesinin WHERE yan tümcesinde bir alt sorgunun kullanımını, sütun2'de en yüksek değere sahip satırı seçerek ve sütun1 değerini güncelleyerek gösterir.
3. Bir alt sorgu içeren INSERT ifadesi:
tablo1'E EKLE (sütun1, sütun2) sütun1, sütun2'yi SEÇİN tablo2'den NEREDE koşul;
Burada alt sorgu, tablo2'den veri alır ve belirtilen koşula göre tablo1'e ekler.
4. Alt sorgu içeren DELETE ifadesi:
tablo1'den SİL WHERE sütun1 IN (tablo2'DEN sütun1'i SEÇİN WHERE koşulu);
Bu örnek, bir koşula dayalı olarak tablo2'den veri almak için bir alt sorgu kullanır ve alınan verilerle eşleşen tablo1'den karşılık gelen satırları siler.
5. İlişkili bir alt sorgu ile SELECT ifadesi:
sütun1, sütun2'yi SEÇİN İLE tablo1 t1 WHERE sütun2 = (TABLO1 t2'DEN MAKS SEÇİN(sütun2) WHERE t2.sütun1 = t1.sütun1);
Bu ilişkili alt sorgu örneğinde, alt sorgu, sütun1'deki dış ve iç sorgular arasındaki ilişkiye dayalı olarak sütun2'deki maksimum değeri alır. Dış sorgu daha sonra tablo1'den sütun2'deki bu maksimum değerle eşleşen satırları seçer.
Alt sorgular, veritabanı işlemlerinde hayati bir rol oynayarak, aksi takdirde tek sorgular kullanılarak elde edilemeyecek olan karmaşık veri manipülasyonlarına ve filtrelere olanak tanır. Alt sorguların güçlü yeteneklerinden yararlanan AppMaster no-code platform kullanıcıları, karmaşık veri modelleri ve iş mantığı tasarlayıp uygulayabilir ve çeşitli iş gereksinimlerine hitap eden yüksek verimli ve ölçeklenebilir uygulamaların geliştirilmesini sağlar. Modern veritabanı sistemlerinin ayrılmaz bir parçası olan alt sorgular, karmaşık veri işlemlerini kolaylaştırmaya devam ederek, günümüzün rekabetçi yazılım geliştirme ortamında AppMaster gibi platformların başarısının temelini oluşturuyor.