(1)选择数据库JX; (2)查询选修了“3”号课程且成绩在70分以上的学生信息: (3)查询所有不比“电子工程”系的所有学生年龄大的其他系的学生信息;(4)查询选修了“3”号课程的学生姓名、成绩及任课教师姓名;(5)查询开设的课程中选课人数不足15人的课程号及人数信息;(6)查询选修课程数低于3门的学生信息:(7)查询没有选修课程的同学的基本信息: (8)查询既选修了“3”号又选修了“4”号课程的学生姓名、课程名及成绩;
时间: 2024-02-09 17:12:12 浏览: 114
感谢您的提问,根据您的要求,以下是对应的 SQL 查询语句:
1. 选择数据库 JX
```
USE JX;
```
2. 查询选修了“3”号课程且成绩在70分以上的学生信息
```
SELECT *
FROM 学生表
WHERE 学号 IN (
SELECT 学号
FROM 选课表
WHERE 课程号 = '3' AND 成绩 >= 70
);
```
3. 查询所有不比“电子工程”系的所有学生年龄大的其他系的学生信息
```
SELECT *
FROM 学生表
WHERE 系别 <> '电子工程' AND 年龄 > (
SELECT 年龄
FROM 学生表
WHERE 系别 = '电子工程'
);
```
4. 查询选修了“3”号课程的学生姓名、成绩及任课教师姓名
```
SELECT 学生表.姓名, 选课表.成绩, 课程表.任课教师姓名
FROM 学生表, 选课表, 课程表
WHERE 学生表.学号 = 选课表.学号 AND 选课表.课程号 = '3' AND 选课表.课程号 = 课程表.课程号;
```
5. 查询开设的课程中选课人数不足15人的课程号及人数信息
```
SELECT 课程号, COUNT(学号) AS 选课人数
FROM 选课表
GROUP BY 课程号
HAVING COUNT(学号) < 15;
```
6. 查询选修课程数低于3门的学生信息
```
SELECT 学号, 姓名, COUNT(课程号) AS 选修课程数
FROM 选课表, 学生表
WHERE 学生表.学号 = 选课表.学号
GROUP BY 学号, 姓名
HAVING COUNT(课程号) < 3;
```
7. 查询没有选修课程的同学的基本信息
```
SELECT *
FROM 学生表
WHERE 学号 NOT IN (
SELECT 学号
FROM 选课表
);
```
8. 查询既选修了“3”号又选修了“4”号课程的学生姓名、课程名及成绩
```
SELECT 学生表.姓名, 选课表.课程号, 课程表.课程名, 选课表.成绩
FROM 学生表, 选课表, 课程表
WHERE 学生表.学号 = 选课表.学号 AND 选课表.课程号 = '3' AND 学生表.学号 IN (
SELECT 学号
FROM 选课表
WHERE 课程号 = '4'
) AND 选课表.课程号 = 课程表.课程号;
```
希望这些 SQL 查询语句能够帮助您解决问题。如果您有任何疑问或者需要进一步的帮助,请随时联系我。
阅读全文