我有个问题:
SELECT a.Vendor, i.Vendor
FROM whole1 a
LEFT JOIN whole2 i
ON (a.Vendor = i.Vendor)
GROUP BY a.Vendor, i.Vedor
LIMIT 0, 200
默认情况下使用内部联接。Left join给出了左表中的所有结果。与右连接相同。
我要找的是左连接和右连接的组合,但不是内部连接。
我想得到一个像
AMD, NULL
ACER, NULL
NULL, INTEL
NULL, ATI
有办法吗?
最佳答案
你需要一个full outer join,
不幸的是,它没有在MYSQL
中实现,相反,您可以使用union
的left
和right
连接:
SELECT a.`Vendor`, i.`Vendor`
FROM `whole1` a LEFT JOIN whole2 i ON (a.`Vendor` = i.`Vendor`)
GROUP BY a.`Vendor`, i.`Vendor`
UNION
SELECT a.`Vendor`, i.`Vendor`
FROM `whole1` a RIGHT JOIN whole2 i ON (a.`Vendor` = i.`Vendor`)
GROUP BY a.`Vendor`, i.`Vendor`
关于mysql - MySQL比较2个表的值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13320480/