【问题标题】:Multiple natural joins in a SQL query?SQL查询中的多个自然连接?
【发布时间】:2014-06-01 22:39:53
【问题描述】:

我有三个表:Orders、Items 和 Items_Orders。 Items_Orders 表实现的 Items 和 Orders 之间存在多对多关系。我正在尝试执行一个对所有三个表进行自然连接的查询(以查看每个订单中有哪些项目)。

这是我目前拥有的 SQL 代码:

SELECT * FROM Orders 
WHERE customer= 'username' NATURAL JOIN Items_Orders NATURAL JOIN Items

但是,我收到了一个非常难以描述的错误:

You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'NATURAL JOIN Items_Orders NATURAL JOIN Items'

关于我在这里做错了什么有什么想法吗?

【问题讨论】:

  • 自然连接不是 SQL 标准,所以我会避免使用它们。这将在 MySQL/MariaDB 平台上创建锁定。请改用 INNER JOIN。
  • 你可能不应该只是编造语法。可能会在这里一段时间。
  • 我相信您还需要告诉它要加入哪些列...

标签: mysql sql mariadb


【解决方案1】:

不应该是这样的吗?

SELECT * FROM Orders NATURAL JOIN Items_Orders NATURAL JOIN Items
WHERE customer= 'username' 

【讨论】:

    猜你喜欢
    • 2012-04-27
    • 1970-01-01
    • 2013-02-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-17
    • 2016-02-03
    • 1970-01-01
    相关资源
    最近更新 更多