Küme fonksiyonları en az iki select sorgusu arasında küme işlemleri yapmaya yarar, yani birleşim kümesi, kesişim kümesi veya fark kümesi gibi işlemler yapar. Küme komutlarının çalışabilmesi için iki select sorgusunda aynı sayıda ve aynı tipte kolonlar olmalıdır.
Union -> Birleşim kümesi oluşturmaya yarar.
Çalıştığımız tüm firmalar(tedarikçi veya müşteri):
select
c.CompanyName,
'Müşteri'
from Customers as c
union
select
s.CompanyName,
'Tedarikçi'
from Suppliers as s
Intersect -> Kesişim kümesini ifade eder iki sorguda da aynı sıradaki kolonlarda aynı veri olanları getirir.
Hem müşteri hem Tedarikci olan firmalar:
select
c.CompanyName
from Customers as c
intersect
select
s.CompanyName
from Suppliers as s
-- böyle bir firma yokmuş
Except ->Fark kümesi oluşturulur ilk sorguda verilenlerden ikinci sorgudaki verileri çıkarmaya yarar.
Müşterimiz olup tedarikçimiz olmayanlar.
select
c.CompanyName
from Customers as c
Except
select
s.CompanyName
from Suppliers as s
Çalışanlar ile aynı şehirde olan müşteriler
select c.City
from Customers as c
intersect
select e.City
from Employees as e
Aynı şehirde bulunan müşteriler ile çalışanların eşleştirilmesi:
select
e.FirstName,
e.City,
'Employee'
from Employees as e
where e.City in(
select c.City
from Customers as c
intersect
select e.City
from Employees as e
)
union
select
c.CompanyName,
c.City,
'Customer'
from Customers as c
where c.City in(
select c.City from Customers as c
intersect
select e.City from Employees as e
)
order by 2,3
Kümeleme komutları bu kadar. Bir sonraki yazımda görüşmek dileğiyle.Kendinize iyi bakınız.




