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.