SQL Server Except (Fark) ve Intersect (Kesişim) Kullanımı

SQL ile yaptığımız çalışmalarda gerekli olan ve bir nevi matematiksel işlem olan Except ve Intersect kullanımını görmüş olacağız.

Matematikten hatırladığınız üzere "Kümeler" konusunda kesişim ve birleşim konularına benzer niteliktedir. Buna bir örnek olarak bir şirkette iki tip çalışan olsun. Yönetici ve işçi şeklinde. Fakat bu şirkette şöyle bir durum da var "Bir yönetici ayrıca işçi olarak da çalışabiliyor."
Yöneticiler ve İşçiler Grafiği
SQL Except ve Intersect Kullanımı

Bu grafiğimizi SQL ile yapmaya çalışalım.
İki adet basit nitelikte tablomuz olsun. İlk tablomuz "Yoneticiler" adında olsun ve orada şirkette çalışan yöneticilerin ad ve soyad değerlerini tutalım.
Yoneticiler Tablosu
CREATE TABLE [dbo].[Yoneticiler] (
[yonetici_ID] INT PRIMARY KEY NOT NULL IDENTITY(1,1) ,
[ad_soyad] varchar(100) NULL 
)

INSERT INTO [dbo].[Yoneticiler] ([ad_soyad]) VALUES ('AHMED SAY');
INSERT INTO [dbo].[Yoneticiler] ([ad_soyad]) VALUES ('MURAT PEK');
INSERT INTO [dbo].[Yoneticiler] ([ad_soyad]) VALUES ('SERKAN TOY');
INSERT INTO [dbo].[Yoneticiler] ([ad_soyad]) VALUES ('VEDAT SAPMAZ');
INSERT INTO [dbo].[Yoneticiler] ([ad_soyad]) VALUES ('NİHAT DOĞRU');

Yoneticiler Tablosu
SQL Except ve Intersect Kullanımı

İkinci tablomuz "Isciler" adında olsun ve orada şirkette çalışan işçilerin ad ve soyad değerlerini tutalım.
Isciler Tablosu
CREATE TABLE [dbo].[Isciler] (
[isci_ID] INT PRIMARY KEY NOT NULL IDENTITY(1,1),
[ad_soyad] varchar(100) NULL 
)

INSERT INTO [dbo].[Isciler] ([ad_soyad]) VALUES ('KENAN SOLAK');
INSERT INTO [dbo].[Isciler] ([ad_soyad]) VALUES ('VEYSEL TANIR');
INSERT INTO [dbo].[Isciler] ([ad_soyad]) VALUES ('NİHAT DOĞRU');
INSERT INTO [dbo].[Isciler] ([ad_soyad]) VALUES ('AHMED SAY');
INSERT INTO [dbo].[Isciler] ([ad_soyad]) VALUES ('HACI BEYAZ');
INSERT INTO [dbo].[Isciler] ([ad_soyad]) VALUES ('HAKAN DEREN');
INSERT INTO [dbo].[Isciler] ([ad_soyad]) VALUES ('VUSLAT DOĞAN');
INSERT INTO [dbo].[Isciler] ([ad_soyad]) VALUES ('FURKAN ALİ');
INSERT INTO [dbo].[Isciler] ([ad_soyad]) VALUES ('MERT BATU');
INSERT INTO [dbo].[Isciler] ([ad_soyad]) VALUES ('MURAT PEK');

Isciler Tablosu
SQL Except ve Intersect Kullanımı


Örnek 1: Hem işçi olup hem de yönetici olan kişileri bulalım. Yani kesişim (intersect) kümesini bulalım.

Kesişim Örnek Sorgu
SELECT ad_soyad FROM Isciler
INTERSECT
SELECT ad_soyad FROM Yoneticiler
Kesişim Örnek Çıktı
SQL Intersect (Kesişim) Kullanımı


Örnek 2: İşçi olup yönetici olmayan kişileri bulalım. Yani sadece işçi olanları (except) kümesini bulalım.

Fark Örnek Sorgu
SELECT ad_soyad FROM Isciler
EXCEPT
SELECT ad_soyad FROM Yoneticiler
Fark Örnek Çıktı
SQL Except (Fark) Kullanımı


Örnek 3: Yönetici olup işçi olmayan kişileri bulalım. Yani sadece yönetici olanları (except) kümesini bulalım.

Fark Örnek Sorgu
SELECT ad_soyad FROM Yoneticiler
EXCEPT
SELECT ad_soyad FROM Isciler
Fark Örnek Çıktı
SQL Except (Fark) Kullanımı

Yorumlar

Henüz hiçbir yorum yazılmamış. İlk yorumu siz yapın.

Yorum Yaz

Avatar

REKLAM

DDos Koruma, Botnet Koruma, Layer 7 Saldırı koruması, Sanal sunucu, Vds sunucu

REKLAM

Çizgi Filmler

INSTAGRAM VIDEO İNDİR

Instagram Video İndirme Aracı

EN

  • Popüler
  • Yeni
  • Son Yorum