mysql - SQL 语句中的 OUTER JOIN 语法错误“
问题描述
谁能帮我理解为什么这个查询不起作用?
修改查询以列出所有产品 (product) 及其关联的类别 (product_category)(如果有的话)。否则,不要显示该类别的值 (null)。
-- SQL request(s) below
SELECT P.name as PRODUCT_NAME, PC.name as CATEGORY_NAME
FROM product as P
OUTER JOIN PRODUCT_CATEGORY as PC on P.product_id = PC.product_category_id
它一直向我显示此错误:
Syntax error in SQL statement "
SELECT P.NAME AS PRODUCT_NAME, PC.NAME AS CATEGORY_NAME
FROM PRODUCT AS P
OUTER[*] JOIN PRODUCT_CATEGORY AS PC ON P.PRODUCT_ID = PC.PRODUCT_CATEGORY_ID
"; SQL statement:
-- SQL request(s) below
SELECT P.name as PRODUCT_NAME, PC.name as CATEGORY_NAME
FROM product as P
OUTER JOIN PRODUCT_CATEGORY as PC on P.product_id = PC.product_category_id
[42000-200]
非常感谢
解决方案
OUTER JOIN
在 ANSI SQL 或我使用的任何实现中不是有效的语法。
这是一个很好的参考:https ://crate.io/docs/sql-99/en/latest/chapters/30.html#joined-tables
你可以说JOIN
或INNER JOIN
。这些是同义词。
你可以说LEFT JOIN
或LEFT OUTER JOIN
。这些是同义词。
你可以说RIGHT JOIN
或RIGHT OUTER JOIN
。这些是同义词。
你可以说FULL JOIN
或FULL OUTER JOIN
。这些是同义词。
你现在应该看到模式了。INNER
和是可选OUTER
关键字。
OUTER JOIN
(没有 LEFT、RIGHT 或 FULL)不是选择之一。
我建议满足你的招聘人员,你使用LEFT OUTER JOIN
.
推荐阅读
- ios - 如何在 swift 中对异步委托函数采取行动
- asynchronous - 如何配置流发送到 K8S 中的多个 POD?
- python - 运行 GridSearchCV 时内核死机
- google-colaboratory - Google Colab 出了点问题
- javascript - DNA配对问题。如何确保我们忽略无效字符
- twitter-bootstrap - ember.js - update form in modal and on its own route?
- java - 如何在 JavaFX 中选择没有 CSS 的 TitledPane 的标题?
- python-3.x - 在期望看到 Rasa Bot 响应时看到 'AttributeError: __enter__'
- angular - Angular 不能在 Safari 浏览器上运行,但在其他浏览器上运行良好
- java - 为什么 Instantiate JDialog 会改变 jpanel 的外观?