INNER JOIN语句
时间: 2023-12-01 17:42:42 浏览: 66
数据库Left join , Right Join, Inner Join 的相关内容,非常实用
`INNER JOIN`是SQL中的一种连接类型,用于将两个或多个表中的记录根据某个条件进行匹配,并返回匹配的记录。它只返回那些在两个表中都有匹配的记录。
`INNER JOIN`语句的基本语法如下:
```sql
SELECT column_name(s)
FROM table1
INNER JOIN table2
ON table1.column_name = table2.column_name;
```
其中,`table1`和`table2`是要连接的两个表,`column_name`是要匹配的列名。
例如,假设我们有两个表`students`和`scores`,它们的结构如下:
```sql
students表:
+----+-------+-----+
| id | name | age |
+----+-------+-----+
| 1 | Alice | 18 |
| 2 | Bob | 19 |
| 3 | Carol | 20 |
+----+-------+-----+
scores表:
+----+------------+-------+
| id | subject | score |
+----+------------+-------+
| 1 | Math | 90 |
| 1 | English | 85 |
| 2 | Math | 95 |
| 2 | English | 92 |
| 3 | Math | 88 |
| 3 | English | 90 |
+----+------------+-------+
```
如果我们想要查询每个学生的姓名和数学成绩,可以使用以下`INNER JOIN`语句:
```sql
SELECT students.name, scores.score
FROM students
INNER JOIN scores
ON students.id = scores.id
WHERE scores.subject = 'Math';
```
这个语句将返回以下结果:
```sql
+-------+-------+
| name | score |
+-------+-------+
| Alice | 90 |
| Bob | 95 |
| Carol | 88 |
+-------+-------+
```
这是因为`INNER JOIN`语句将`students`表和`scores`表根据`id`列进行匹配,并只返回在两个表中都有匹配的记录。同时,`WHERE`子句限制了只返回数学成绩。
阅读全文