sqlserver,有一张学生作业表,有3列:课程号、学号、成绩。同一个学号可能会对应多个课程号,如何查询没有选修课程号K001和K002的学生的学号、成绩,请用子查询
时间: 2024-01-14 21:03:22 浏览: 32
可以使用子查询和 NOT IN 来查询没有选修课程号 K001 和 K002 的学生的学号和成绩,SQL语句如下:
```
SELECT 学号, 成绩
FROM 学生作业表
WHERE 学号 NOT IN (
SELECT 学号
FROM 学生作业表
WHERE 课程号 IN ('K001', 'K002')
)
```
这个子查询会先找出选修了课程号 K001 或 K002 的学生,然后外层查询使用 NOT IN 找出没有选修这些课程的学生。
相关问题
sqlserver,有一个成绩表,共有三列:课程号、学号、成绩,如何求选了3门课程及以上的学生的学号,和他们成绩的平均分
可以使用GROUP BY和HAVING子句来实现:
```
SELECT 学号, AVG(成绩) AS 平均分
FROM 成绩表
GROUP BY 学号
HAVING COUNT(DISTINCT 课程号) >= 3
```
其中GROUP BY将结果按学号分组,AVG函数计算每个学生的平均分,HAVING子句筛选出选了3门课程及以上的学生。
有一张表,表中有课程号,学号,成绩。现在用sqlserver查询其中以3结尾的课程号
你可以使用以下 SQL 语句来查询表中以3结尾的课程号:
```
SELECT * FROM 表名 WHERE 课程号 LIKE '%3'
```
其中,表名是你要查询的表的名称,课程号是表中的一个字段名。'%'表示匹配0个或多个任意字符。所以,'%3'表示以3结尾的字符串。使用 LIKE 运算符可以实现字符串的模糊匹配。
相关推荐
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pptx](https://img-home.csdnimg.cn/images/20210720083543.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)