.用 exists 查询分数大于90分的学生学号和姓名
时间: 2023-12-03 11:44:26 浏览: 48
假设学生信息存储在名为"students"的表中,其中包含学号(id)、姓名(name)和分数(score)等字段。可以使用以下 SQL 查询语句来查询分数大于90分的学生学号和姓名:
```
SELECT id, name
FROM students
WHERE score > 90;
```
该查询语句使用 EXISTS 子句来过滤出分数大于90分的学生,然后从结果集中选择学号和姓名字段进行展示。
相关问题
3.用 exists 查询来自北京的学生学号和姓名
假设学生信息存储在一个名为"students"的表中,其中包含以下列:学号(student_id)、姓名(name)和所在城市(city)。
则查询语句如下:
```sql
SELECT student_id, name
FROM students
WHERE city = '北京'
```
解释:该语句使用了 WHERE 子句来筛选所在城市为“北京”的学生,并通过 SELECT 子句选择返回的列为学号和姓名。使用 EXISTS 关键字可以达到同样的效果,具体语句如下:
```sql
SELECT student_id, name
FROM students
WHERE EXISTS (
SELECT *
FROM students
WHERE city = '北京' AND students.student_id = students.student_id
)
```
解释:这个查询语句使用了 EXISTS 子查询来查找在“北京”这个城市的学生,然后通过主查询选择返回的列为学号和姓名。子查询中的 WHERE 子句过滤了所在城市为“北京”的学生,而子查询中的 STUDENTS.STUDENT_ID = STUDENTS.STUDENT_ID 条件则连接了主查询和子查询。
查询所有课程成绩均大于90 分的学生学号和姓名。~
好的,根据您的要求,我可以给出以下 SQL 查询语句:
```
SELECT student.id, student.name
FROM student
WHERE NOT EXISTS (
SELECT *
FROM score
WHERE score.student_id = student.id AND score.grade < 90
)
```
这个查询语句中,首先在 `student` 表中查询所有学生的学号和姓名。然后通过子查询来判断该学生的所有成绩是否都大于90分,如果存在任何一门成绩小于90分,则排除该学生。最终返回所有符合条件的学生的学号和姓名。
希望这个回答能够帮到您!