SELECT 'Customer' As Type, ContactName, City, Country FROM Customers UNION SELECT 'Supplier', ContactName, City, Country FROM Suppliers
問題一:
給了兩個表,customers and suppliers,都是沒有'Customer' 和 ‘supplier’ 一欄的。
但是!結果是增加了'type' 這一欄,然後原本是customer 的record有'Customer'值,原本是supplier 的record有'Supplier'值。這看上去不是‘aliasing’...不知道這個操作是叫什麼名字?尤其是 select 後面不是應該跟著 column 名稱的麼?但是兩個tables 裡面都沒有'Customer' 和 ‘supplier’ 一欄啊啊啊!
問題二:
第一個select 裡面要'as Type', 但是第二個select就不用。試過在第2個select 加上‘as type’, 返回相同結果。想問一下為什麼能這樣省略?是不是因為union裡面select statements 的對稱性?
謝謝各位大佬!
1)'Customer' As Type
与'Supplier'
是为了区分Customers与Suppliers这2张表中的记录,不然只有ContactName, City, Country
,就无法区分是来自Customers还是来自Suppliers。
2)Type 是结果集的列名,'Customer'
与'Supplier'
是列值,列名有且只能有也只需要1个。
啊啊啊,原來是這樣!厲害,謝謝大佬!!