30.查询选修c2和c3课程的学生学号 31.查询选修了课程’c1'并且选修课程在三门以上的同学学号 32.检索至少选修两门课程的学生姓名。(采用自身连接查询)
时间: 2023-11-24 10:47:50 浏览: 112
30. 查询选修c2和c3课程的学生学号可以使用以下SQL语句:
SELECT DISTINCT student_id FROM course_selection WHERE course_id IN ('c2', 'c3');
31. 查询选修了课程’c1'并且选修课程在三门以上的同学学号可以使用以下SQL语句:
SELECT student_id FROM course_selection WHERE course_id = 'c1' GROUP BY student_id HAVING COUNT(DISTINCT course_id) >= 3;
32. 检索至少选修两门课程的学生姓名(采用自身连接查询)可以使用以下SQL语句:
SELECT DISTINCT a.student_name FROM course_selection a, course_selection b WHERE a.student_id = b.student_id AND a.course_id <> b.course_id;
相关问题
查询选修了三门以上课程的学生学号
好的,你可以使用以下 SQL 语句来查询选修了三门以上课程的学生学号:
```
SELECT s.student_id
FROM student s
JOIN course_selection cs ON s.student_id = cs.student_id
GROUP BY s.student_id
HAVING COUNT(cs.course_id) >= 3;
```
这个查询语句会从学生表(student)和选课表(course_selection)中获取学生学号和课程编号,然后通过学生学号进行分组,最后筛选出选修了三门以上课程的学生学号。
1.查询既选修了课程c01又选修了课程c02的学生的学号和姓名。
好的,您的问题是:查询既选修了课程c01又选修了课程c02的学生的学号和姓名。以下是SQL语句:
```
SELECT student_id, student_name
FROM student_course
WHERE course_id IN ('c01', 'c02')
GROUP BY student_id, student_name
HAVING COUNT(DISTINCT course_id) = 2;
```
请注意,上述SQL语句是基于常见的关系型数据库,具体实现可能因实际情况而异。