【问题标题】:Sample SQL Join Code from Famous Sites Doesn't Validate?来自著名站点的示例 SQL 连接代码无效?
【发布时间】:2018-07-13 00:02:29
【问题描述】:

这是来自 w3schools 的 sample SQL Full Outer Join code

SELECT column_name
FROM table1
FULL OUTER JOIN table2
ON table1.column_name=table2.column_name;

在在线验证器(https://www.piliapp.com/mysql-syntax-check/https://www.eversql.com/sql-syntax-check-validator/)中对其进行测试会引发错误:

您的 SQL 语法有错误;似乎错误是:'OUTER JOIN table2 ON table1.column_name = table2.column_name' at line 5

w3resource 有这个示例 SQL 代码:

SELECT * 
FROM table1 
FULL OUTER JOIN table2 
ON table1.column_name=table2.column_name;

在 SO 上找到的示例代码几乎是相同的代码,并在验证器和我的开发系统中引发相同的错误。

  • 这有意义吗?
  • 正确的 SQL 是什么?

【问题讨论】:

  • 查看:SELECT column_name(s)。您没有提供 column_name 但 *.我认为有问题。

标签: sql mysqli


【解决方案1】:

那些查询是MSSQL 查询不是mysql 并且两个站点是mysql 查询验证器。 你在 MySQL 上没有 FULL JOINS,但你可以肯定模仿 them

在 MYSQL 上模拟 FULL OUTER JOIN 的示例代码:

    SELECT * FROM t1
    LEFT JOIN t2 ON t1.id = t2.id
    UNION ALL
    SELECT * FROM t1
    RIGHT JOIN t2 ON t1.id = t2.id
    WHERE t1.id IS NULL

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-06-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多