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:
2) In ile:
3) Exists ile:
4)Inner join ile:
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
Yorum Gönder