sql查询参加(或未参加)选秀的学生的学号和姓名
时间: 2024-02-01 07:02:50 浏览: 25
好的,以下是查询语句:
```sql
SELECT s.sid, s.sname
FROM student s
LEFT JOIN audition a ON s.sid = a.sid
WHERE a.sid IS NOT NULL OR a.sid IS NULL;
```
这里用了一个左连接(LEFT JOIN),将学生表(student)和选秀表(audition)连接起来,同时用 WHERE 子句过滤出参加或未参加选秀的学生。最后选择学号(sid)和姓名(sname)这两个字段。
相关问题
sql查询参加(或未参加)选修的学生的学号和姓名
好的,以下是查询语句:
```sql
SELECT s.sid, s.sname
FROM student s
LEFT JOIN sc ON s.sid = sc.sid
LEFT JOIN course c ON sc.cno = c.cno
WHERE c.cname = '选修' AND (sc.grade IS NOT NULL OR sc.grade IS NULL);
```
这里用了两个左连接(LEFT JOIN),将学生表(student)、选课表(sc)和课程表(course)连接起来,同时用 WHERE 子句过滤出选修课程的学生。最后选择学号(sid)和姓名(sname)这两个字段。
注意:这里假设选修课程的课程名为“选修”,你需要根据实际情况修改 WHERE 子句中的课程名。同时,由于选课表中的成绩(grade)可以为空,因此需要用 OR 连接两个条件来过滤出参加或未参加选修课程的学生。
查询没有参加体测项目的学生学号和姓名。
好的,您可以使用以下 SQL 语句查询:
```
SELECT 学号, 姓名
FROM 学生表
WHERE 学号 NOT IN (
SELECT 学号
FROM 成绩表
)
```
解释一下,这个 SQL 语句首先会在成绩表中查找所有参加过体测项目的学生学号,然后在学生表中查询所有不在上述结果中的学生学号对应的学生姓名。这样就能得到所有没有参加体测项目的学生学号和姓名。