MySQL

MySQL Alt Sorgular

Bu eğitimde, size karmaşık sorgular yazmak ve MySQL alt sorgusunu nasıl kullanacağınızı ve ilişkili alt sorgu kavramını nasıl açıklayacağınızı göstereceğiz.

MySQL alt sorgusu, SELECT, INSERT, UPDATE veya DELETE gibi başka bir sorgunun içine yerleştirilmiş bir sorgudur. Ayrıca, bir MySQL alt sorgusu başka bir alt sorgunun içine yerleştirilebilir.

Bir MySQL alt sorgusu iç sorgu olarak adlandırılırken, alt sorguyu içeren sorgu dış sorgu olarak adlandırılır. Bir alt sorgu ifadenin kullanıldığı ve parantez içinde kapatılması gereken her yerde kullanılabilir.

Aşağıdaki sorgu  ve devamında bulunan sorgular şekildeki tablolar kullanılarak hazırlanmıştır.

Örnek : Aşağıda bulunan sorgu türü ROMAN olan kitapları listelemektedir.

Bu örnekte:

  • Alt sorgu, ROMAN türündeki tüm kitapların listesini döndürür.
  • Dış sorgu alt sorgu tarafından döndürülen sonuç setinde bulunan turno kodlarında bulunan kitapları seçer.

Sorgu çalıştırıldığında, alt sorgu ilk önce çalışır ve bir sonuç kümesi döndürür. Ardından, bu sonuç kümesi dış sorgunun bir girişi olarak kullanılır.

WHERE yan tümcesinde MySQL alt sorgusu

Alt sorgu tarafından döndürülen tek bir değeri, WHERE yan tümcesinde ifade ile karşılaştırmak için karşılaştırma işleçlerini (örneğin, =,>, <, vb.) kullanabilirsiniz.

Örnek: Kitap numarası 10 olan “Benim Üniversitelerim” isimli kitabın yazarın adını ve soyadını yazdıran alt sorguyu yapınız.

Eşitlik operatörüne ek olarak, (>) ‘dan daha büyük, (<)’ dan küçük gibi diğer karşılaştırma operatörlerini kullanabilirsiniz.

 

İlginizi çekebilir: MySQL Dersleri

 

Örnek: Sayfa sayısı, ortalama sayfa sayısından büyük olan kitapları listeleyen sorguyu yazınız. Alt sorgu ortalama sayfa sayısını bulacak, dış sorgu ise bu ortalamanın üzerindeki kitapları listeleyecek.

Alt alta sorgular da yazabiliriz. Aşağıdaki örnekte alt alta 2 tane sorgu yazılmıştır. Örneği inceleyiniz.

Örnek: ROMAN türünde  ve ortalama sayfa sayısından büyük olan kitapları listeleyen sorguyu yazınız.

IN ve NOT IN operatörleri ile MySQL alt sorgusu

Bir alt sorgu birden fazla değer döndürürse, WHERE yan tümcesinde IN veya NOT IN operatörü gibi diğer operatörleri kullanabilirsiniz.

Örnek: 3 numaralı öğrencinin almadığı kitapları listeleyen sorguyu yapınız.

FROM yan tümcesinde MySQL alt sorgusu

FROM yan tümcesinde bir alt sorgu kullandığınızda, bir alt sorgudan döndürülen sonuç kümesi geçici bir tablo olarak kullanılır. Bu tablo türetilmiş bir tablo veya materyalize edilmiş alt sorgu olarak adlandırılır.

Örnek: Aşağıdaki alt sorgu, öğrencilerin okudukları kitap sayılarını göstermektedir. Bu sorguyu liste takma adı ile dış sorguya gönderip, dış sorguda en fazla okunan kitap, en az okunan kitap ve ortalama okunan kitap adetleri gösterilmektedir.

Bu eğitimde, daha karmaşık sorgular oluşturmak için MySQL alt sorgusunu ve ilişkili alt sorguyu nasıl kullanacağınızı gösterdik.

 

1 Yorum

Yorum yapmak için tıklayın