用两种方法从student表中查询计算机应用,体育,数学三个专业的学生的sname,sage,sdept
时间: 2024-10-23 21:05:01 浏览: 28
要从`student`表中查询计算机应用、体育和数学这三个专业的学生的`sname`(姓名)、`sage`(年龄)和`sdept`(专业),你可以使用以下两种SQL查询方法:
1. **使用IN操作符**:
```sql
SELECT sname, sage, sdept
FROM student
WHERE sdept IN ('计算机应用', '体育', '数学');
```
这将返回所有专业在指定列表中的学生的相关信息。
2. **使用CASE WHEN语句**:
```sql
SELECT sname, sage,
CASE
WHEN sdept = '计算机应用' THEN '计算机应用'
WHEN sdept = '体育' THEN '体育'
WHEN sdept = '数学' THEN '数学'
ELSE '其他'
END as sdept
FROM student;
```
这种方法通过CASE WHEN检查每个学生的专业并将其映射到特定的专业名称。
相关问题
假设有student表,存储了学生姓名Sname,学生年龄Sage,学生学院Sdept,用My SQL查询Sdept为CE的学生的平均年龄
可以使用如下的 SQL 查询语句来实现:
```
SELECT AVG(Sage) AS AvgAge
FROM student
WHERE Sdept = 'CE';
```
该查询语句会选取 `Sdept` 为 `'CE'` 的学生记录,并计算他们的平均年龄,返回结果集中只包含一个名为 `AvgAge` 的列,该列包含了计算出的平均年龄值。
示例数据库DB_SC中,有三个表: 学生信息表:Student(Sno,Sname,Sage,Ssex,Sdept) 课程信息表:Course(Cno,Cname,Cpno,Ccredit) 选修记录表:SC(Sno,Cno,Grade) Sno是学生学号,Sname是学生姓名,Sage学生年龄,Ssex是学生性别,Sdept学生所在系,Cno是课程号,Cname是课程名,Grade是学生成绩。用sql语句回答1、统计每个学生的学号及平均成绩 2、查询计算机科学系的学生与年龄不大于20岁的学生的
1、统计每个学生的学号及平均成绩
```sql
SELECT Sno, AVG(Grade) AS AvgGrade FROM SC GROUP BY Sno;
```
2、查询计算机科学系的学生与年龄不大于20岁的学生
```sql
SELECT * FROM Student WHERE Sdept = '计算机科学系' AND Sage <= 20;
```
阅读全文