0

我尝试运行以下查询来选择所有符合连接条件的行,然后添加表“client”和表“commande”中由于不符合连接条件而被拒绝的所有行。

查询SELECT * FROM CLIENT c FULL JOIN commande com ON c.id_client=com.id_client

错误:错误代码:1064 您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以获取正确的语法,以便在 c 上的 'FULL JOIN commande com 附近使用。id_client=com。id_client LIMIT 0, 1000' 在第 1 行

4

3 回答 3

0

尝试使用full outer joinfull inner join

于 2013-07-11T23:31:45.573 回答
0

尝试使用:

SELECT * FROM `CLIENT` FULL JOIN commande com USING (id_client) […];
于 2013-07-11T23:38:34.513 回答
0

遗憾的是 MySQL 不支持FULL JOIN. 您可以使用 aUNION和 anOUTER JOIN虽然获得相同的结果:

SELECT c.*, com.* 
FROM CLIENT c 
    LEFT JOIN commande com ON c.id_client=com.id_client
UNION 
SELECT c.*, com.* 
FROM commande com
    LEFT JOIN CLIENT c  ON com.id_client=c.id_client

此外,请考虑定义要返回的字段而不是全部返回。

于 2013-07-12T00:13:21.973 回答