无法验证来自著名站点的示例SQL连接代码?

时间:2018-07-13 00:02:29

标签: sql mysqli

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

$parentCategory = $_POST['foo'];

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

  

您的SQL语法有错误;看来错误就在附近:第5行的'OUTER JOIN table2 ON table1.column_name = table2.column_name'

w3resource具有以下示例SQL代码:

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

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

enter image description here

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

1 个答案:

答案 0 :(得分:2)

这些查询是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