数据库 Inner Join(内连接) 是关系型数据库中用来从两个或多个表中查询同时满足连接条件的数据的一种 JOIN 方式。
Inner Join 只返回:
在左表和右表中,连接条件成立(匹配成功) 的那些记录。
如果某条记录在另一张表中找不到对应数据,它不会出现在结果中。
想象两张表:
Inner Join 就像在问:
“把有成绩的学生找出来,并显示他们的信息和成绩”
没有成绩的学生,不会出现。
SELECT 列名
FROM 表A
INNER JOIN 表B
ON 表A.关联字段 = 表B.关联字段;
✅
INNER可以省略,直接写JOIN默认就是 Inner Join
| id | name |
|---|---|
| 1 | 张三 |
| 2 | 李四 |
| 3 | 王五 |
| student_id | score |
|---|---|
| 1 | 90 |
| 2 | 85 |
SELECT students.name, scores.score
FROM students
INNER JOIN scores
ON students.id = scores.student_id;
| name | score |
|---|---|
| 张三 | 90 |
| 李四 | 85 |
王五没有成绩,所以不显示。
✅ 只返回匹配的数据
✅ 是最常用、最安全的 JOIN
❌ 会丢弃未匹配的记录
| JOIN 类型 | 返回内容 |
|---|---|
| INNER JOIN | 两表都匹配 |
| LEFT JOIN | 左表全部 + 右表匹配 |
| RIGHT JOIN | 右表全部 + 左表匹配 |
| FULL JOIN | 两表全部(匹配+未匹配) |
如果你愿意,我也可以用 图示、实际业务例子(如订单+用户) 或 多表 Inner Join 来进一步讲解。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。