Синтаксическая ошибка MySQL OUTER JOIN

Может быть, Facepalm для вас, ребята, но как новичок в 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

person Sem    schedule 18.09.2012    source источник


Ответы (3)


В MySQL следует использовать LEFT OUTER JOIN или RIGHT OUTER JOIN. Нет только ВНЕШНЕГО СОЕДИНЕНИЯ. Если вам нужно ПОЛНОЕ ВНЕШНЕЕ СОЕДИНЕНИЕ в MySql , вы можете использовать ОБЪЕДИНЕНИЕ ЛЕВОГО СОЕДИНЕНИЯ и ПРАВОГО СОЕДИНЕНИЯ

person valex    schedule 18.09.2012

Пытаться

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

Вы должны написать LEFT JOIN,RIGHT JOIN,INNER JOIN или FULL OUTER JOIN вместо OUTER JOIN.

Также есть одна ошибка с названием вашей таблицы: между буквами таблицы не должно быть пробела [company C — она должна называться как company_C ]

Я надеюсь, что это будет работать.. Всего наилучшего!

person Anmol    schedule 26.09.2018