我可以简短地写一下这句话吗?
Select S_name
from
Supplier
JOIN Nation ON Supplier.S_nationkey = Nation.N_nationkey
JOIN Region on Nation.n_regionkey = region.R_regionkey
Where
Region.r_name = 'AFRICA'
Union
Select C_name
from
Customer
JOIN Nation ON Customer.C_Nationkey = Nation.N_nationkey
JOIN Region on Nation.N_regionkey = Region.R_regionkey
Where
Region.R_name = 'AFRICA'
我希望按名称订购我的输出,但我不知道为什么,因为我确实有C_name和S_Name作为输出?!
感谢
答案 0 :(得分:2)
如果您想要同一列中的所有数据,则可以在其周围放置SELECT
,然后执行ORDER BY
。
Select S_name As Names
from Supplier
JOIN Nation
ON Supplier.S_nationkey = Nation.N_nationkey
JOIN Region
on Nation.n_regionkey = region.R_regionkey
Where Region.r_name = 'AFRICA'
Union
Select C_name As Names
from Customer
JOIN Nation
ON Customer.C_Nationkey = Nation.N_nationkey
JOIN Region
on Nation.N_regionkey = Region.R_regionkey
Where Region.R_name = 'AFRICA'
ORDER BY Names
如果您不需要同一列中的数据,那么您可以这样做:
Select S_name, c.C_name
from Supplier
JOIN Nation
ON Supplier.S_nationkey = Nation.N_nationkey
JOIN Region
on Nation.n_regionkey = region.R_regionkey
JOIN Customer c
on Nation.N_nationkey = c.C_Nationkey
Where Region.r_name = 'AFRICA'
ORDER BY S_name, c.c_name
答案 1 :(得分:1)
关于order by子句,请尝试
ORDER BY 1
在您的查询结尾处