首页 > 数据库 > mysql教程 > 为什么我的 SQL INNER JOIN 与多个表不返回任何结果?

为什么我的 SQL INNER JOIN 与多个表不返回任何结果?

Barbara Streisand
发布: 2024-12-17 00:04:23
原创
220 人浏览过

Why Doesn't My SQL INNER JOIN With Multiple Tables Return Any Results?

使用 SQL Inner JOIN 连接多个表

使用关系数据库时,通常需要组合多个表中的数据。为此,SQL 提供了 INNER JOIN 运算符。

要在两个表上执行内联接,您需要指定它们的主键和外键之间的相等条件。例如:

SELECT *
FROM table1
INNER JOIN table2
ON table1.primaryKey = table2.table1Id;
登录后复制

此查询将返回两个表中具有匹配主键和外键的所有行。

要将其扩展到多个表,只需向查询,使用相同的外键/主键相等条件。但是,以下代码没有返回任何结果:

SELECT *
FROM table1
INNER JOIN table2
INNER JOIN table3
ON table1.primaryKey = table2.table1Id = table3.table1Id;
登录后复制

这样做的原因是必须为每个表单独指定相等条件。正确的语法是:

SELECT *
FROM table1
INNER JOIN table2
ON table1.primaryKey = table2.table1Id
INNER JOIN table3
ON table1.primaryKey = table3.table1Id;
登录后复制

此查询将返回 table1 中在 table2 和 table3 中具有匹配主键和外键的所有行。

以上是为什么我的 SQL INNER JOIN 与多个表不返回任何结果?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板