mysql查询其他系中比“信息学院”某一学生年龄小的学生姓名和年龄(输出列为:Sname, Sage)。
时间: 2024-05-04 21:20:24 浏览: 159
假设学生表的表名为`student`,学院表的表名为`department`,学生表中包含字段`Sname`(学生姓名)、`Sage`(学生年龄)、`Sdept`(所在学院),则可以使用以下 SQL 语句查询其他系中比“信息学院”某一学生年龄小的学生姓名和年龄:
```
SELECT Sname, Sage FROM student WHERE Sdept <> '信息学院' AND Sage < (SELECT Sage FROM student WHERE Sname = '某一学生姓名' AND Sdept = '信息学院');
```
其中,`Sname = '某一学生姓名' AND Sdept = '信息学院'` 表示查询条件,需要根据实际情况替换为具体的学生姓名和所在学院名称。使用子查询获取某一学生在信息学院的年龄,然后与其他系中的学生进行比较,筛选出满足条件的学生姓名和年龄。
相关问题
mysql学生表 student(sid,sname,sage,ssex),其中, sid:学号,sname:学生姓名,sage:学生年龄,ssex:学生性别, 成绩表 sc(sid,sid,score),其中, sid:学号,sid:课程编号,score:成绩。 查询选修了两门及以上课程的全部学生的学号和姓名。显示sid、sname和课程数
你可以使用以下 SQL 语句查询选修了两门及以上课程的全部学生的学号和姓名,并显示课程数:
```
SELECT s.sid, s.sname, COUNT(sc.cno) AS course_num
FROM student s
JOIN sc ON s.sid = sc.sid
GROUP BY s.sid, s.sname
HAVING COUNT(sc.cno) >= 2;
```
其中,`JOIN` 用于连接两个表,`GROUP BY` 用于分组,`HAVING` 用于过滤分组后的结果。`COUNT()` 函数用于统计选修课程的数量。
Student(Sid,Sname,Sage,Ssex)学生表 Sid:学号 Sname:学生姓名 Sage:学生年龄 Ssex:学生性别 Course(Cid,Cname,Tid)课程表 Cid:课程编号 Cname:课程名称 Tid:教师编号 SC(Sid,Cid,score)成绩表 Sid:学号 Cid:课程编号 score:成绩 10.1 查询所有同学的学号、姓名、选课数、总成绩?
可以使用以下 SQL 语句查询所有同学的学号、姓名、选课数、总成绩:
```
SELECT Student.Sid, Sname, COUNT(SC.Cid) AS course_num, SUM(SC.score) AS total_score
FROM Student
LEFT JOIN SC ON Student.Sid = SC.Sid
GROUP BY Student.Sid, Sname;
```
这个查询语句使用了学生表 Student 和成绩表 SC 的连接查询,计算了每个学生的选课数和总成绩,最后使用 GROUP BY 和聚合函数对结果进行了分组和统计。LEFT JOIN 是为了包括那些没有选课的学生在内。
阅读全文