UNION kullanma yönergeleri
SENDİKA işleçleri kullanırken şu yönergeleri izleyin:
UNION ile birleştirilmiş deyimleri select listelerinde ifadeler (sütun adları, aritmetik ifadeler, toplu işlevleri vb.) aynı sayıda olması gerekir.
UNION veya bunların alt küme küme küme kümesini tek tek sorgularında kullanılan sütunları ile birleştirilen sonuç kümeleri içinde karşılık gelen sütun gerekir aynı veri türü, iki veri türleri arasında olası bir örtülü veri dönüşümü olan veya sağlanan açık dönüştürme olması.Örneğin, BİRLİĞİ arasında bir sütun , datetime veri türü ve biri ikili veri türü, açık bir dönüştürme sağlanan sürece çalışmayacaktır.UNION arasında ancak, işe yarar bir sütun , para veri türü ve biri int veri türü, çünkü örtük olarak dönüştürülebilir.
Sütunlarından xml veri türüne eşdeğer olması gerekir.Tüm sütunları için bir xml şeması yazılı veya türlenmemiş.Yazdıysanız, aynı xml şemasına yazılmalıdır koleksiyon.
Sütunları tek tek sorgularda verilen sırada bire bir UNION karşılaştırır çünkü UNION ile birleştirilmiş tek tek ifadelerine karşılık gelen sonuç küme sütunlarından aynı sırada gerçekleşmesi gerekir.
İşte bir örnek.
TABLE3
TABLE4
A
B
C
A
B
INT
CHAR(4)
CHAR(4)
CHAR(4)
FLOAT
---
-------
-------
-------
-------
1
ABC
JKL
JKL
1.000
2
DEF
MNO
MNO
5.000
3
GHI
PQR
Bu sorguyu yürütmek:
SELECT a, b FROM table3 UNION SELECT b, a FROM table4
Sonuç küme aşağıdadır:
a b -------- ----- 1.000000 abc 2.000000 def 3.000000 ghi 1.000000 jkl 5.000000 mno
Farklı veri türlerine bir birleşim işleminde birleştirildiğinde veri türü öncelik kuralları kullanılarak dönüştürülür.Önceki örnekte, int değerlere dönüştürülür float, çünkü float daha yüksek önceliğe sahip int.Daha fazla bilgi için bkz: Veri türü önceliği (Transact-sql).
Buna karşılık gelen sütun veri türleri uyumlu olmadığı için bu sorgu hata iletisi üretir:
SELECT b, c FROM table3 UNION SELECT a, b FROM table4
Sütun adları tablo BİRLİĞİ'nden sonuç alınır, birleşim deyim ilk tek tek sorgu.Bir sütuna başvurmak için sonuç küme tarafından yeni bir ad (örneğin, bir order by yan tümce tümce tümcende) böylece ilk seçme için sütun başvurulmalıdır:
SELECT city AS Cities FROM stores_west UNION SELECT city FROM stores_east ORDER BY city