.基于 jxgl数据库,使用SQL语句表达以下查询 ①检索年龄大于23岁的男学生的学号和姓名; ②检索至少选修一门课程的女学生姓名; ③检索王林不学的课程的课程号; ④检索至少选修两门课程的学生学号;
时间: 2024-10-22 12:28:35 浏览: 56
18329015_郝裕玮_Lab41
在JXGL数据库中,使用SQL语句可以按照以下方式编写:
1. 查询年龄大于23岁的男学生的学号和姓名:
```sql
SELECT student_id, name
FROM students
WHERE gender = '男' AND age > 23;
```
2. 查询至少选修一门课程的女学生姓名:
```sql
SELECT DISTINCT name
FROM students s
JOIN student_courses sc ON s.student_id = sc.student_id
WHERE s.gender = '女';
```
这里假设有一个student_courses表连接了学生和他们选修的课程。
3. 检索王林不学的课程的课程号:
```sql
SELECT course_code
FROM courses
WHERE course_code NOT IN (
SELECT course_code
FROM student_courses
WHERE student_id = (SELECT id FROM students WHERE name = '王林')
);
```
这里的假设是每个课程都有一个唯一的course_code,并且有student_courses表记录学生选课信息。
4. 检索至少选修两门课程的学生学号:
```sql
SELECT student_id
FROM (
SELECT student_id, COUNT(*) AS course_count
FROM student_courses
GROUP BY student_id
) subquery
WHERE course_count >= 2;
```
这个查询首先计算每个学生选修的课程数,然后选择那些课程数大于等于2的学生的学号。
阅读全文