SQL INTERSECT Komutu Nedir Kullanımı

Veritabanı

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.

skesqlResimli 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.

One Comment

  1. 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?

Leave a Reply

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Burak KUTBAY 2010 - 2019
%d blogcu bunu beğendi: