MYSQL' DE ALT SORGULAR

 Bir önceki bölümde MySQL' de JOIN ifadeleri konusunu görmüş ve örneklerle birlikte detaylıca incelemiştik. Bu bölümde ise MySQL' de çok fazla kullanımı olan alt sorgular konusunu görüyor olacağız.

Alt sorgular, SELECT başta olmak üzere INSERT, DELETE, UPDATE gibi sorguların içine yerleştirilmiş olan sorgulardır. Bu sorgulara "iç sorgular" da denmektedir. Bir sorguda birden fazla iç sorgu kullanılabilmektedir. İç sorgu nasıl yazılır, şimdi de bunu görelim.

kisiler tablosu

kisi_bilgileri tablosu


Sonuç tablosu

Sorgumuzda maaşı 4000 olanların isimlerini getiren sorguyu iç sorgu kullanarak yazmış olduk. İç sorgumuzu, WHERE komutunda yazarak bu sonucu elde etmiş olduk. İç sorgumuz ile dış sorgumuz arasında IN ifadesini kullanarak sadece eşleşen id' lere ait verileri getir demek istedik. Burada "=", "NOT IN" gibi ifadelerde kullanılabilmektedir. 

İç sorgular WHERE dışında FROM' da da yazılabilmektedir. Buna da hemen basit bir örnek verelim.


Sonuç tablosu

Bu sorgumuzda da id değeri 4 olan kişinin bütün verilerini iç sorgu ile alırken, dış sorguda bu verilerden sadece isim değerinin gelmesini sağlamış olduk. Sonuç tablosundan da görüldüğü üzere bütün verilerin yerine sadece isim verisi gelmiştir. 

Bu sorgumuzda "as tablo" yazılı alan dikkatinizi çekmiştir. "AS" ifadesi sorgularda işlem yapılarak elde edilen alanlara sonuç tablosunda isim vermek için kullanılan bir ifadedir. İngilizce "alias" yani "takma ad" kelimesinden gelmektedir.

Sizde ilişkisel tablolarınızda işlem gerçekleştirirken iç içe sorguları kullanarak karmaşık işlemleri tek bir sorgu ile gerçekleştirebilirsiniz. İyi çalışmalar.

Share:

0 yorum:

Yorum Gönder