2012-09-18 4 views
19

может быть для вас, ребята, но как SQL-запрос noob У меня проблема с синтаксисом, кто-нибудь знает, что случилось?MySQL OUTER JOIN Ошибка синтаксиса

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 

Я благодарю вас любезно за рассмотрение моего маленького вопроса :)

ответ

45

In MySQL вы должны использовать LEFT OUTER JOIN или RIGHT ВНЕШНЯЯ ВСТУПЛЕНИЕ. Нет только ВЗГЛЯДНОЙ ВСТУПЛЕНИЯ. Если вам нужно ПОЛНОЕ ВНЕШНЕЕ СОЕДИНЕНИЕ в MySql you can use UNION of LEFT JOIN and RIGHT JOIN

+0

Благодарю вас обоих, но этот ответ был более образованным :) – Sem

5

Попробуйте

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