Database - Veritabanı
SQL Server Except (Fark) Ve Intersect (Kesişim) Kullanımı
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. Bunu bir örnek ile pekiştirelim.
İ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 Çıktı
İ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 Çıktı
Ö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
Ö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ı
Ö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
Bol sorgulu günler :)
Kaynak: https://www.ontedi.com/sql/sql-server-except-fark-ve-intersect-kesisim-kullanimi
-
Dökümana eklesene bunu
Edit: Şu scripti bize vermedin Wordpresin eline düşürdün bizi.
x-files tarafından 13/Mar/20 17:57 tarihinde düzenlenmiştir -
x-files bunu yazdı
Dökümana eklesene bunu
Edit: Şu scripti bize vermedin Wordpresin eline düşürdün bizi.
Vakitlice eklemeye çalışırım.
Script panel felan yok. Dbye elle giriyorum makaleleri :)