数据库StudentCourse 有表SC含Sno作学号,Cno作课程号,Grade作成绩。表Student含Sno作学号,Sname作姓名,Ssex作性别,Sbirthday作出生日期,Sdept作所在系,Memo作备注。表Course含Cno作课程号,Cname作姓名,PreCourse作先行课,PreCno作先行课程号,Credit作学分,Semester作开课学期。 查询其他系中Sbirthday大于全体计算机系Sbirthday的Sno,Sname,Sdept,Sbirthday
时间: 2023-12-06 14:44:38 浏览: 127
查询数据库中所有有成绩的学生的学号和课程号
4星 · 用户满意度95%
可以使用子查询和比较运算符实现此查询:
```sql
SELECT Sno, Sname, Sdept, Sbirthday
FROM Student
WHERE Sdept <> '计算机系'
AND Sbirthday > (SELECT MIN(Sbirthday) FROM Student WHERE Sdept = '计算机系')
```
解释一下这段 SQL 语句:
- `SELECT Sno, Sname, Sdept, Sbirthday`:查询结果包含的列。
- `FROM Student`:从表 Student 中查询。
- `WHERE Sdept <> '计算机系'`:筛选出所在系不是计算机系的学生。
- `AND Sbirthday > (SELECT MIN(Sbirthday) FROM Student WHERE Sdept = '计算机系')`:筛选出生日期大于计算机系中最小生日的学生。这里的子查询 `(SELECT MIN(Sbirthday) FROM Student WHERE Sdept = '计算机系')` 查询出计算机系中最小生日。
注意,这里使用了 `<>` 表示不等于的意思。如果你的数据库使用的是其他比较运算符,可能需要进行相应修改。
阅读全文