Oracle Minus (Fark) ve Intersect (Kesişim) Kullanımı

Oracle ile yaptığımız çalışmalarda gerekli olan ve bir nevi matematiksel işlem olan Minus 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 arkadaş ortamında "Basketbol Sevenler" ve/veya "Futbol Sevenler" şeklinde iki farklı spor dalını sevenlerin kesişim ve fark kümelerini inceleyeceğiz. Ayrıca her iki sporu da sevenlerin olduğu bir kümeyi de ele almış olacağız. Görselde göründüğü üzere her iki sporu da seven kişiler ALİ ve CEYHUN adlı kişiler.

 

 

Bu grafiğimizi SQL ile yapmaya çalışalım.

İki adet basit nitelikte tablomuz olsun. İlk tablomuz "BASKETBOL_SEVENLER" adında olsun ve içerisinde basketbol sevenlerin ad değerlerini tutalım.

BASKETBOL_SEVENLER Tablosu

CREATE TABLE BASKETBOL_SEVENLER (
ID NUMBER(10) GENERATED BY DEFAULT AS IDENTITY,
AD VARCHAR2(100) NULL,
CONSTRAINT PK_BASKETBOL_SEVENLER PRIMARY KEY(ID)
)

INSERT INTO BASKETBOL_SEVENLER (AD) VALUES ('SALİH');
INSERT INTO BASKETBOL_SEVENLER (AD) VALUES ('TAMER');
INSERT INTO BASKETBOL_SEVENLER (AD) VALUES ('KEMAL');
INSERT INTO BASKETBOL_SEVENLER (AD) VALUES ('ALİ');
INSERT INTO BASKETBOL_SEVENLER (AD) VALUES ('CEYHUN');


BASKETBOL_SEVENLER Tablosu



İkinci tablomuz "FUTBOL_SEVENLER" adında olsun ve orada ise futbol sevenler kişilerin adlarını yazalım.

FUTBOL_SEVENLER Tablosu

CREATE TABLE FUTBOL_SEVENLER (
ID NUMBER(10) GENERATED BY DEFAULT AS IDENTITY,
AD VARCHAR2(100) NULL,
CONSTRAINT PK_FUTBOL_SEVENLER PRIMARY KEY(ID)
)

INSERT INTO FUTBOL_SEVENLER (AD) VALUES ('SERKAN');
INSERT INTO FUTBOL_SEVENLER (AD) VALUES ('TAYFUN');
INSERT INTO FUTBOL_SEVENLER (AD) VALUES ('AHMED');
INSERT INTO FUTBOL_SEVENLER (AD) VALUES ('CANER');
INSERT INTO FUTBOL_SEVENLER (AD) VALUES ('DENİZ');
INSERT INTO FUTBOL_SEVENLER (AD) VALUES ('ALİ');
INSERT INTO FUTBOL_SEVENLER (AD) VALUES ('CEYHUN');


FUTBOL_SEVENLER Tablosu

 

Örnek 1: Hem basketbolu seven hem de futbolu seven kişileri bulalım. Yani kesişim (intersect) kümesini bulalım.
Kesişim Örnek Sorgu

SELECT AD FROM BASKETBOL_SEVENLER
INTERSECT
SELECT AD FROM FUTBOL_SEVENLER

Görüldüğü gibi her iki sporu sevenlerin bulunduğu kesişim kümesinin sonucu.

Kesişim Örnek Çıktı


Örnek 2: Basketbolu seven ama futbolu sevmeyen kişileri bulalım. Yani sadece basketbolu sevenleri (minus) kümesini bulalım.

Fark Örnek Sorgu

SELECT AD FROM BASKETBOL_SEVENLER
MINUS
SELECT AD FROM FUTBOL_SEVENLER

Sadece basketbolu sevenlerin kümesini veren sorgu sonucu

Fark Örnek Çıktı



Örnek 3: Futbolu seven ama basketbolu sevmeyen kişileri bulalım. Yani sadece futbolu sevenleri (minus) kümesini bulalım.

Fark Örnek Sorgu

SELECT AD FROM FUTBOL_SEVENLER
MINUS
SELECT AD FROM BASKETBOL_SEVENLER

Sadece futbolu sevenlerin kümesini veren sorgu sonucu

Fark Örnek Çıktı


 

 

Kaynak: Oracle Minus (Fark) ve Intersect (Kesişim) Kullanımı
Tarih:
Hit: 2739
Yazar: ontedi
( ontedi Kaynaklı )
Taglar: oracle fark minus intersect kesişim


Yorumlar


Yorum yapabilmek için üye girişi yapmalısınız.

Yorumlar

ayd tarafından yazıldı. Tarih: 16/Ağu/23 12:11
Eline sağlık, kesinlikle işime yarayacak bilgi hocam.
esinti tarafından yazıldı. Tarih: 14/Ağu/23 12:44
Eline sağlık hocam.
kaygusuz tarafından yazıldı. Tarih: 06/Ağu/23 16:58
Teşekkürler.