用sql语句查询既选修了课程1-428又选修了课程2-669的学生的编号。
时间: 2023-11-24 11:02:02 浏览: 225
假设学生选课信息存储在表course中,包括学生编号(student_id)和选修的课程编号(course_id),则可以使用以下SQL语句查询既选修了课程1-428又选修了课程2-669的学生的编号:
```
SELECT student_id
FROM course
WHERE course_id IN ('1-428', '2-669')
GROUP BY student_id
HAVING COUNT(DISTINCT course_id) = 2;
```
解释:
1. 使用WHERE子句筛选选修了课程1-428或课程2-669的学生记录;
2. 使用GROUP BY子句将学生编号相同的记录分组;
3. 使用HAVING子句过滤选修了两门课程的学生记录,DISTINCT用于去重计数。
相关问题
用sql语句查询学生选修课程
好的,这个问题是可以回答的。下面是一个简单的 SQL 查询语句,用于查询学生选修的课程:
SELECT student_name, course_name
FROM student_course
INNER JOIN student ON student_course.student_id = student.id
INNER JOIN course ON student_course.course_id = course.id;
请注意,这只是一个示例查询,具体的查询语句可能会因数据库结构和数据模式的不同而有所不同。
sql语句查询不选修c04课程的学生姓名
SELECT student_name FROM student WHERE student_id NOT IN (SELECT student_id FROM course_selection WHERE course_id = 'c04');
阅读全文