select service_type from service_type as s union select service_type
from cust_service_type as cs
我想用 JOINS
替换 UNION
。请让我知道需要进行的更改。
最佳答案
MySQL
不支持 FULL JOIN
,因此不可能在 MySQL
中执行此操作。
在其他系统中,您可以使用以下语法:
SELECT DISTINCT COALESCE(service_type, cust_service_type)
FROM service_type s
FULL JOIN
cust_service_type cs
ON cs.service_type = s.service_type
或
SELECT DISTINCT service_type
FROM service_type s
FULL JOIN
cust_service_type cs
USING (service_type)
适用于支持JOIN ... USING
的系统
请注意,UNION
比此解决方案高效得多。
更新:
如果您想要两个表中的所有字段,请使用:
SELECT *
FROM service_type s
UNION ALL
SELECT *
FROM cust_service_type cs
WHERE service_type NOT IN
(
SELECT service_type
FROM service_type
)
关于mysql - mysql中如何用join代替union,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10909561/