SQL INTERSECT Komutu Nedir Kullanımı
Adından da anlaşıldığı üzere bir keşisim ifadesinden kalan sonucu bize verecek. Bu Sql sorgunusu biraz inceleyelim.
INTERSECT komutu bizim farklı iki sql sorgumuzdan çıkacak olan aynı sonuçları bizim önümüze getirmemize yaramaktadır.
Resimli olarak anlatmak daha kolay olacak sanırım. Resimden de anlaşıldığı üzere iki farklı sorguda ki aynı çıkan sonuçları göstermektedir.
İki tablomuz olsun;
Musteri_Kayit, Musteri_OnKayit olmak üzere iki farklı tablomuz var. Bu tabloların amacını açıklayayım.
Musteri_OnKayit Tablosu bir ürünü ön şipariş olarak satın almak isteyen ve ön kayıt yapıran kişilerin bulunduğu tablonun ismi.
Musteri_Kayit Tablosu ise ürünü sipariş edip almış kişilerin kayıt edildiği tablomuz olsun.
Şirketinizin patronu bizden Ön kayıt yaptırıp siparişi alan kişilerin bilgilerini istiyor. Bu durumda INTERSECT komutu bizim sorunumuzu çözecektir. Musteri_OnKayit tablosunda adı olupta Musteri_Kayit tablosunda da adı olan aynı kişilerin bilglerini raporlayacağız.
SELECT adi FROM data.Musteri_OnKayit INTERSECT SELECT adi FROM data.Musteri_Kayit
Şeklinde ki kullanım bizim iki sorgumuzdanda aynı çıkan sonuçları görmemizi sağlar.
Kullanım şeklini bir formülüze edersek;
SELECT kolon FROM tablo INTERSECT SELECT kolon FROM tablo
şeklinde kullanılmaktadır.
Ayni isi su sekilde de yapabiliriz.
SELECT adi FROM data.Musteri_OnKayit mo
WHERE EXISTS (SELECT 1 FROM data.Musteri_Kayit mk WHERE mk.Id=mo.Id)
Intersect ile bunun performans farki nedir?