sqlserver,有两张表:学生表(学号、姓名)、课程表(课程号、学号) 现在要查询选修课程号为K002的学生的学号、姓名,请使用普通子查询、相关子查询、使用exists关键字的相关子查询三种方式)
时间: 2023-08-06 08:01:44 浏览: 127
数据结构课程设计 学生信息管理系统哈希表学号 姓名查询
5星 · 资源好评率100%
1. 普通子查询:
```
SELECT 学号, 姓名
FROM 学生表
WHERE 学号 IN (SELECT 学号 FROM 课程表 WHERE 课程号 = 'K002')
```
2. 相关子查询:
```
SELECT 学号, 姓名
FROM 学生表
WHERE 学号 IN (SELECT 学号 FROM 课程表 WHERE 学号 = 学生表.学号 AND 课程号 = 'K002')
```
3. EXISTS关键字的相关子查询:
```
SELECT 学号, 姓名
FROM 学生表
WHERE EXISTS (SELECT 1 FROM 课程表 WHERE 课程表.学号 = 学生表.学号 AND 课程号 = 'K002')
```
以上三种方式都可以实现查询选修课程号为K002的学生的学号、姓名。区别在于语法和执行效率。其中,相关子查询和EXISTS关键字的相关子查询可能更加高效。
阅读全文