首页 新闻 搜索 专区 学院

SQL syntax問題

0
悬赏园豆:5 [已解决问题] 解决于 2018-01-28 16:18
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 的對稱性?

謝謝各位大佬!

 

SQL
HingAglaiaWong的主页 HingAglaiaWong | 菜鸟二级 | 园豆:494
提问于:2018-01-28 15:52
< >
分享
最佳答案
1

1)'Customer' As Type'Supplier'是为了区分Customers与Suppliers这2张表中的记录,不然只有ContactName, City, Country,就无法区分是来自Customers还是来自Suppliers。
2)Type 是结果集的列名,'Customer''Supplier'是列值,列名有且只能有也只需要1个。

收获园豆:5
dudu | 高人七级 |园豆:37242 | 2018-01-28 16:11

啊啊啊,原來是這樣!厲害,謝謝大佬!!

HingAglaiaWong | 园豆:494 (菜鸟二级) | 2018-01-28 16:18
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册