Alt sorgulamaları kullanırken bazı noktalara dikkat etmek gerekir: Alt sorgulama, iki parantez içine yazılmalıdır. Tek bir değer döndüren alt sorgulamada "select" ifadesi ile bir alan ismi kullanılabilir. 'Text' ve 'image' veri tipindeki alanlarda alt sorgulama işlemi yapılamaz. Bir sorgulama işleminde istenilen sayıda alt sorgulama kullanılabilir.
Alt Sorgulamaların Uygulanması
Tek Değer Döndüren Alt Sorgulama:
Bu tür alt sorgulamaların sonucunda bir tane değer döndürülür ve bu değer dış sorgulamada bir başka değer ile karşılaştırılarak asıl sorgulama işlemi gerçekleştirilir. "Where" ifadesinde alt sorgulama yapılacaksa karşılaştırma operatörü kullanılmalıdır. Alt sorgulamanın sonucunda birden çok değer döndürülürse SQL Sever sorgulama sonucunda hata verecektir. "Aggregate" fonksiyonlar (MAX,MIN,AVG vb.) kullanılarak yine tek değer döndürmek mümkündür. Bir de her alt sorgulamanın sadece bir kez çalışabildiğini unutmamak gerekir.
Örnek: COMPANY ve CLASS adlı iki tablo olsun :
COMPANY tablosundan age alanında en büyük değere karşılık gelen satır(lar)dakicompany_name'i seçmek için şu uygulama yapılır:
Örnek: CLASS tablosunda en küçük yaşa karşılık gelen satırdaki comment alanı the_smallest diye tanımlanırsa ve değeri istenirse şu uygulama yapılır:
Birden Çok Değer Döndüren Alt Sorgulama
Bir alt sorgulamanın sonucu tek bir değer değil de birden çok değerden oluşan liste şeklindedir. Böyle alt sorgulamalarda "where" ifadesinde genellikle "in" anahtar kelimesi kullanılır:
Örnek: Bu örnekte önce alt sorgulama incelenirse; iki tablonun da age alanlarında aynı değerlere sahip ve company_name'i ITU_BIM olmayan satırlarda age alanındaki değerler alt sorgulamanın sonucudur. CLASS tablosunun age alanındaki değerlerin alt sorgulamanın sonucunun içinde olmaması için "not in" kullanıldı. Bu koşulları sağlaması şartı ile CLASStablosundan age ve comment alanlarındaki değerler istenirse esas sorgulamanın sonucuna ulaşılmış olunur.