两个表 根据学科类型统计
时间: 2023-08-20 19:05:10 浏览: 41
假设我们有两个表,一个是`student`表,包含学生的信息,如下:
```
STUDENT_ID NAME SUBJECT
-------------------------------
1 Alice Math
2 Bob English
3 Charlie Math
4 David Science
5 Emily English
```
另一个是`subject`表,包含每个学科的信息,如下:
```
SUBJECT_ID SUBJECT_NAME
------------------------
1 Math
2 English
3 Science
```
现在我们想要统计每个学科中有多少学生,可以使用以下SQL语句:
```sql
SELECT s.SUBJECT_NAME, COUNT(*) AS NUM_OF_STUDENTS
FROM student s
JOIN subject t
ON s.SUBJECT = t.SUBJECT_NAME
GROUP BY s.SUBJECT_NAME;
```
执行以上SQL语句后,可以得到以下结果:
```
SUBJECT_NAME NUM_OF_STUDENTS
------------------------------
Math 2
English 2
Science 1
```
其中,`JOIN`用于连接两个表,`s.SUBJECT = t.SUBJECT_NAME`用于指定连接条件;`GROUP BY`用于按`SUBJECT_NAME`列进行分组;`COUNT(*)`用于计算每个分组中的行数,即每个学科中有多少学生。