Aracılığıyla paylaş


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