İLERİ SEVİYE SORGULAR
ALT SORGULAR(SUBQUERY)
Parantezler kullanarak başka bir sorgu içine
yerleştirilmiş normal bir SQL sorgusudur. Select ile oluşturulur.
· İç İçe Sorgular
select * from siparis
where siptarih='01/01/2013' Siptarihi 01/01/2013 olan kaydı gösterir.
select * from siparis İç içe sorgu
where siptarih=(select min(siptarih) from siparis)
· Birden Fazla Değer Veren Sorgular
select * from musteriler m
on m.musno=s.sipno siparis tablosunu
birleştirir.
select * from musteriler m Musteriler ve siparis
join siparis
s tablosunu birleştirip
on m.musno=s.sipno where şartıyla perso-
where s.perno in (select perno from personel) nel tablosunun perno
bölümünü birleştirir.
select * from musteriler
m
join siparis
s
on m.musno=s.sipno
where s.perno not in (select perno from personel)
· İlişkili Alt Sorgular
select * from musteriler m
join siparis s
on m.musno=s.musno
where siptarih=(select min(siptarih) from siparis s2
where s.musno=s2.musno)
İç içe yerleştirilmiş sorgulardan farkı ; bilgi
transferinin çift yönlü olmasıdır. İç içe yerleştirilmiş
alt sorgulardan, iç sorguda elde edilen bilgiler dış sorguya gönderilir, dış sorgu uygular.
İlişkili Sorgularda;
1.
Dış sorgu elde ettiği kayıtları iç sorguya
gönderir.
2.
Dış sorgudan gelen değerlere göre iç sorgu
çalışır.
3.
Daha sonra iç sorgu elde ettiği sonuçları
tekrar dış döngüye gönderir. Dış sorgu bu değerlerle işlemi bitirir.
Hiç yorum yok:
Yorum Gönder