UNION : Iki SELECT sorgusunun birlestirilmesinde kullanilir. Kayitlari siralanmis bir sekilde listeler.
UNION ALL : Iki SELECT sorgusunun birlestirilmesinde kullanilir. UNION`da farkli olarak, iki sorgudan donen butun kayitlari verir. Ayni kayitlar varsa tekrarlanir.
INTERSECT : Iki SELECT sorgusunun birlesmesinde, kesisen degerleri dondurur. Ayni degerler tekrarlanmaz ve siralama olur.
MINUS : Iki SELECT sorgusundan yanliz birinde olan kayitlari dondurur. Ayni degerler tekrarlanmaz ve siralama vardir.
NOT : Yukaridaki operatorlari kullanirken dikkat etmemiz gereken sorgudan dondurmesini istedigimiz sutunlar, her iki tablodada ayni type`de olmalidir.
Ornek :
Simdi Yukaridaki operatorlari kullanmak icin 2 tane tablo yaratalim ve bu operatorlari kullanalim.
A tablosu
ID Number
Name VARCHAR2(20)
Surname VARCHAR2(20)
B tablosu
Name VARCHAR2(20)
Surname VARCHAR2(20)
select * from a
COLUMN1 NAME SURNAME
---------------------- -------------------- --------------------
1 ertugrul aslan
2 selcuk kadir
3 bilge turk
3 rows selected
select * from b
NAME SURNAME
-------------------- --------------------
ertugrul aslan
selcuk kadir
mustafa duran
hakan aslan
4 rows selected
Simdi yukaridaki operatorlari kullanmaya baslayalim..
- SELECT name, surname FROM A
UNION SELECT name, surname FROM B
NAME SURNAME
-------------------- --------------------
bilge turk
ertugrul aslan
hakan aslan
mustafa duran
selcuk kadir
5 rows selected
- SELECT name, surname FROM A
UNION ALL SELECT name, surname FROM B
-------------------- --------------------
ertugrul aslan
selcuk kadir
bilge turk
ertugrul aslan
selcuk kadir
mustafa duran
hakan aslan
7 rows selected
- SELECT name, surname FROM A
INTERSECT SELECT name, surname FROM B
-------------------- --------------------
ertugrul aslan
selcuk kadir
2 rows selected
- SELECT name, surname FROM A
MINUS SELECT name, surname FROM B
-------------------- --------------------
bilge turk
1 rows selected
SELECT name, surname FROM B
MINUS SELECT name, surname FROM A
NAME SURNAME
-------------------- --------------------
hakan aslan
mustafa duran
2 rows selected
MINUS kullanirken kayitlar tekrarlanmaz ve siralama olur. Burada bir seye dikkat etmemiz gerekiyor. Mesala A tablosunda bilge turk, B tablosunda mustafa duran kayitlari, once A`yi kullandigimizda bilge turk, veriyor. Cunku diger tablodan cikariyor. Once B`yi kullandigimizda sonuc farkli oldugu yukarida gorulmektedir.
Hiç yorum yok:
Yorum Gönder