25

也许对你们来说是一个面子,但作为一个 SQL 查询新手,我遇到了语法问题。有谁知道怎么了?

SELECT * FROM company C
OUTER JOIN company_address A ON C.company_id = A.company_id
WHERE A.company_id IS NULL

给出错误:

#1064 - You have an error in your SQL syntax; check the manual that corresponds 
to your MySQL server version for the right syntax to use near 
'OUTER JOIN company_address A ON C.company_id = A.company_id WHERE A.address_id 
' at line 2
4

3 回答 3

58

在 MySQL 中,您应该使用LEFT OUTER JOINor RIGHT OUTER JOIN。没有正义OUTER JOIN。如果您需要FULL OUTER JOIN在 MySql 中您可以使用和UNIONLEFT JOINRIGHT JOIN

于 2012-09-18T08:42:52.770 回答
8

尝试

SELECT * FROM company C
LEFT JOIN company_address A ON C.company_id = A.company_id
WHERE A.company_id IS NULL
于 2012-09-18T08:42:33.327 回答
1

您必须编写 LEFT JOIN,RIGHT JOIN,INNER JOIN 或 FULL OUTER JOIN 而不仅仅是OUTER JOIN

你的表名也有一个错误,这样的表的字母之间不应该有空格[公司 C - 它应该命名为company_C ]

我希望那会奏效……一切顺利!

于 2018-09-26T09:57:21.133 回答