web-dev-qa-db-fra.com

Erreur de syntaxe MySQL OUTER JOIN

Peut-être un visage pour vous, mais en tant que débutant dans les requêtes SQL, j'ai un problème de syntaxe. Quelqu'un sait ce qui ne va pas?

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

Donner l'erreur:

#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
23
Sem

Dans MySQL vous devez utiliser LEFT OUTER JOIN ou RIGHT OUTER JOIN. Il n'y a pas de simple jointure externe. Si vous avez besoin de FULL OUTER JOIN dans MySql vous pouvez utiliser UNION de LEFT JOIN et RIGHT JOIN

55
valex

Essayer

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

Vous devez écrire LEFT JOIN, RIGHT JOIN, INNER JOIN ou FULL OUTER JOIN au lieu de seulement OUTER JOIN.

Il y a aussi une erreur avec le nom de votre table, il ne devrait pas y avoir espace entre les lettres d'un tableau comme celui-ci [entreprise C - il doit être nommé company_C]

J'espère que ce sera du travail .. Tout le meilleur!

1
Anmol