INTERSECT komutu

Intersect komutu 2 farklı sorgudan dönen ortak kayıtları listelemek için kullanılır. In ve Exists komutları ile de aynı sonuç elde edilebilir. Aslında inner join işlemlerinde de 2 sorgunun ortak olan kayıtları listelenir. Inner joinde yapmamız gereken tek işlem distinct komutunu sorgumuza eklemek. Aşağıdaki farklı komutlarla yazılan sorgularımızı çalıştırdığımızda hepsinden 238 adet kayıt döndüğünü görürüz.

1) Intersect ile:
select ProductID from Production.Product
intersect
select ProductID from Production.WorkOrder


2) In ile:
select ProductID from Production.Product
where ProductID in(select ProductID from Production.WorkOrder)


3) Exists ile:
select ProductID from Production.Product p
where exists(select top 1 1 from Production.WorkOrder wo where p.ProductID=wo.ProductID)


4)Inner join ile:
select distinct p.ProductID from Production.Product p inner join Production.WorkOrder wo
on p.ProductID=wo.ProductID

Yorumlar

Bu blogdaki popüler yayınlar

Natural Key ve Surrogate Key Nedir?

PL/SQL'de DEĞİŞKEN TANIMLAMA, EKRANA YAZI YAZDIRMA ve GÜNCELLEME

SQL Server Analysis Services 2012’de Multidimensional Model ve Tabular Model