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.
