MySQL中inner join
时间: 2023-11-29 16:46:45 浏览: 89
内连接(inner join)是 MySQL 中一种常用的关联查询方式,它可以根据两个或多个表中的共同字段将这些表连接起来,从而得到一个包含所有匹配行的结果集。内连接只返回两个表中都存在的匹配行,如果某个表中没有匹配的行,则不会返回该表的数据。
下面是一个内连接的示例,假设我们有两个表 tb_students_info 和 tb_course,它们的结构如下:
tb_students_info 表:
| id | name | course_id |
|----|------|----------|
| 1 | Tom | 3 |
| 2 | Jane | 4 |
| 3 | Jim | 2 |
| 4 | Lily | 6 |
| 5 | John | 1 |
| 6 | Dany | 1 |
| 7 | Green| 5 |
| 8 | Henry| 1 |
| 9 | Susan| 7 |
| 10 | Thomas| 7 |
tb_course 表:
| id | course_name |
|----|-------------|
| 1 | Java |
| 2 | MySQL |
| 3 | Python |
| 4 | Go |
| 5 | C++ |
我们可以使用以下 SQL 语句进行内连接查询:
```mysql
SELECT s.name, c.course_name
FROM tb_students_info s
INNER JOIN tb_course c
ON s.course_id = c.id;
```
运行结果如下:
```
--------+-------------+
| name | course_name |
+--------+-------------+
| Tom | Python |
| Jane | Go |
| Jim | MySQL |
| Lily | NULL |
| John | Java |
| Dany | Java |
| Green | C++ |
| Henry | Java |
| Susan | NULL |
| Thomas | NULL |
+--------+-------------+
```
上述 SQL 语句中,我们使用 INNER JOIN 关键字将 tb_students_info 表和 tb_course 表连接起来,连接条件是两个表中的 course_id 和 id 字段相等。在 SELECT 子句中,我们选择了 tb_students_info 表中的 name 字段和 tb_course 表中的 course_name 字段,这两个字段都会出现在结果集中。
阅读全文