2021011203
1.查询全体学生的姓名、出生年份和所在系。
2、查询选修了课程的学生学号。
SELECT DISTINCT sno FROM scfcy WHERE cno IS NOT NULL;
distinct去除重复的
![](https://img-blog.csdnimg.cn/b5cf03f9d48e47c7b3d9eb2a662fd8a0.png)
从名为scfcy的数据库表中,按照sno字段进行分组,然后返回每个组的第一个记录的sno值:
![](https://img-blog.csdnimg.cn/b5ba532033234ba28b53674b614e6404.png)
3、查询计算机系年龄在20岁以下的学生的学号和姓名。
SELECT
sno,sname
FROM
studentfcy
WHERE
sdept = 'CS'
AND
sage < 20;
![](https://img-blog.csdnimg.cn/07116dd7c32144e48373e7263602524c.png)
4、查询年龄不在20-23岁之间的女生的学号、姓名、系别和年龄。
SELECT
sno,sname,sdept,sage
FROM
studentfcy
WHERE
ssex='女' and sage not BETWEEN 20 AND 30;
使用单引号 '女'
![](https://img-blog.csdnimg.cn/c1bf83df60884d8a92deb974f65b7427.png)
5.查询数学系和计算机系学生的学号、姓名和性别。要求:用谓词IN
SELECT sno,sname, ssex
FROM studentfcy
WHERE sdept in ('CS','MA') ;
![](https://img-blog.csdnimg.cn/c0b5d5c55da54d7ba810dedad25ae39e.png)
6、查询姓张和姓刘的学生的学号和姓名。
SELECT sno,sname FROM studentfcy WHERE sname LIKE '张%' or sname LIKE '刘%'
![](https://img-blog.csdnimg.cn/c3008eaa6b944dae8fe92abdbe9a3737.png)
7、求成绩在80-90 之间的学生学号和成绩,并将成绩乘以系数0.75 输出 。
select sno,grade*0.8 '成绩' from scfcy where grade>80 and grade<90
![](https://img-blog.csdnimg.cn/14f01aa9c59443fb9120ffdbd5b59685.png)
8、查询没有先修课且学分高于1分的课程号
select cno from coursefcy where cpno is NULL AND ccredit>1
SQL 条件判断 中 ,is 和 =(等号)的 区别 在 SQL 进行条件判断的时候,等号表示的是数值上的等价,比如par_id = 0 is 更多表示的是一种属性。
9、求选修1号课程的学生学号和成绩,并要求对查询结果按成绩的降序排列,如果成绩相同则按学号的升序排列。
SELECT sno,grade from scfcy where cno="1" order by grade desc,sno asc
![](https://img-blog.csdnimg.cn/a161a9994611450588d8879bac0c28fb.png)
更新数据:
UPDATE scfcy SET grade=55 WHERE grade=101