union

İki veya daha fazla SELECT ifadesinin sonuç kümelerini tek bir sonuç kümesinde
birleştiren operatördür. UNION operatörünü kullanarak iki sorgunun sonuç kümelerini
birleştirmek için sorguların aşağıdaki kurallara uyması gerekir.

1)Her iki sorgunun select listesindeki sütunların sayısı ve sırası aynı olmalıdır.
2)Veri türleri uyumlu olmalıdır.
3)UNION operatörü, birleştirilmiş veri kümesinden tüm yinelenen satırları kaldırır.
Yinelenen satırları korumak için UNION ALL ifadesi kullanılır.

CREATE TABLE customer_1 ( name VARCHAR NOT NULL, category_id
SMALLINT );
CREATE TABLE customer_2 ( name VARCHAR NOT NULL, category_id
SMALLINT );

INSERT INTO customer_1(name, category_id)
VALUES ('Derya', 36),
('Ali', 19),
('Gamze', 72),
('Meltem', 57);

INSERT INTO customer_2(name, category_id)
VALUES ('Derya', 36),
('Arda', 20),
('Tariq', 97),
('Gul',02);

Öncelikle customer_1 ve customer_2 adında müşteri bilgileri içeren tablolar
oluşturulup, tablolara veriler girilmiştir.

union

SELECT * FROM customer_1
UNION
SELECT * FROM customer_2

name 		| category_id
---------------------+--------------
Gul 		| 2
Ali 		| 19
Arda 		| 20
Meltem 	| 57
Derya 		| 36
Gamze 		| 72
Tariq 		| 97
(7 rows)

Select sorgusu sonucu union operatörü sayesinde iki tablonun verileri alt alta ekrana
gelmiştir. İki tabloda da aynı sonuçlara sahip satırlar sadece bir kere yazdırılmıştır.

union all

SELECT * FROM customer_1
UNION ALL
SELECT * FROM customer_2

name 		| category_id
---------------------+--------------
Derya 		| 36
Ali 		| 19
Gamze 		| 72
Meltem 	| 57
Derya 		| 36
Arda 		| 20
Tariq 		| 97
Gul 		| 2
(8 rows)

Union all operatörü sayesinde sorgu sonucunda iki tablodaki tüm veriler, tekrar eden
kayıtlar dikkate alınmaksızın sıralanmıştır.

Kategori seçin...