mrj*_*min 1 mysql sql database union
我需要帮助来制定查询.我想从表A和表B中选择所有DISTINCT颜色.
这是查询的结果:
BLACK
RED
YELLOW
BLUE
Run Code Online (Sandbox Code Playgroud)
我有这些表:
表A.
ID NAME COLOR
5 SOCKS BLACK
4 SOCKS RED
Run Code Online (Sandbox Code Playgroud)
表B
ID NAME COLOR
0 CAR BLUE
1 BIKE BLUE
5 TRUCK YELLOW
10 PLANE NULL
Run Code Online (Sandbox Code Playgroud)
我试过了:
SELECT DISTINCT A.color FROM A JOIN B ON b.color
Run Code Online (Sandbox Code Playgroud)
但我没有得到所有的颜色.:(
SELECT color FROM A
UNION
SELECT color FROM B
WHERE color IS NOT NULL -- only filters NULL from B
ORDER BY color -- sorts all rows
Run Code Online (Sandbox Code Playgroud)
UNION(而不是UNION ALL)删除重复项.不需要额外的子查询或DISTINCT.