sql查询所有不比“计算机”系的所有学生年龄大的其他系的学生信息;

动态 未结 0 73
小小草
小小草 LV1 2023年9月23日 23:40 发表
假设有以下两个表: students 表: | id | name | age | department | |----|--------|-----|------------| | 1 | 张三 | 20 | 计算机系 | | 2 | 李四 | 22 | 电子工程系 | | 3 | 王五 | 19 | 化学系 | | 4 | 赵六 | 21 | 计算机系 | | 5 | 钱七 | 23 | 物理系 | | 6 | 孙八 | 18 | 数学系 | departments 表: | id | name | |----|------------| | 1 | 计算机系 | | 2 | 电子工程系 | | 3 | 化学系 | | 4 | 物理系 | | 5 | 数学系 | 可以使用以下 SQL 查询语句来查询所有不比“计算机”系的所有学生年龄大的其他系的学生信息: ```sql SELECT s.id, s.name, s.age, s.department FROM students s WHERE s.department <> '计算机系' AND s.age > ( SELECT MAX(age) FROM students WHERE department = '计算机系' ) ``` 该查询语句中,首先在 `students` 表中查询所有不属于“计算机”系的学生,并筛选出年龄大于“计算机”系学生中最大年龄的学生。这里使用了子查询来获取“计算机”系学生中最大年龄。最后返回符合条件的学生信息。 注意,该查询语句假设每个系都有至少一个学生,否则子查询将返回 NULL,导致整个查询结果为空。如果需要处理这种情况,可以使用 COALESCE 函数或者 IFNULL 函数来将 NULL 转换为一个默认值。
收藏(0)  分享
相关标签: 智能问答
问题没解决?让AI助手帮你作答 AI助手
0个回复
  • 消灭零回复