Sql Altsorgular(SUBQUERY)
Subquery, bir sorgu oluşturulurken, bu sorguya ait kriterleri başka bir sorgu belirleme durumudur. Kısaca sonucu bilinmeyen koşullar olduğunda bu yöntem kullanılır.
Yazılımı:
1
2
3
4
5
|
SELECT …..
FROM ……
WHERE kolon=( SELECT …
FROM ….
WHERE ….)
|
Select cümlesi parantes içinde tanımlanır. = koşulu kondu ise select cümlesi tek değer döndürmek zorundadır. Eğer birden fazla değer için koşul konulması gerekirse ” in, not in ” kelimesi kullanılır. Tek kayıt döndüğünde = yerine >,>=, <, <=, <> kontrol ifadeleride kullanabiliriz. Bir önemli nokta da koşula eşitlenecek değer 2. Select cümlesi içindeki kolon değerine eş olmalıdır. Yani tipleri eşit olmalıdır.
Subquery sorgulama tekniğinde order by kullanılamaz.
Having grup koşulu içinde select cümlesi kullanabiliriz.
Örneğin;
1. sorgu : Ahmet’ ın departman numarası kaçtır?
1
2
3
|
SELECT dept_id,name
FROM Personel
WHERE name='Ahmet'
|
2. sorgu : Departman numarası 38 olan kişilerin listesinden adı kazım olan var mı incele?
1
2
3
|
SELECT dept_id,name
FROM Personel
WHERE dept_id=38
|
3. sorgu : Bu iki sorgunun birleşimi istenirse, yani departmanı 38 olan kazım adlı personel bigisi ?
1
2
3
4
5
|
SELECT dept_id,name
FROM Personel
WHERE dept_id=( SELECT dept_id
FROM Personel
WHERE name='Ahmet')
|
Leave a reply