今天继续做了会儿练习语句
都是比较基本的sql查询语句
需要熟练掌握的
- 查询选修毛概的学生的姓名成绩,并且升序输出
1 | select sname,score |
- 查询所有科目分数总和大于1100的学生姓名与分数总和
1 | select sname,sex,SUM(score) |
- 查询年龄在20~23的学生
1 | select sname,age |
- 查询年龄不在20~23的学生
1 | select sname,age |
- 查询第2,3,4组的学生姓名与性别
1 | select sname,sex |
- 查询不在2,3,4组的学生
1 | select sname,sex |
- 查询不在2,3,4组的姓刘的同学
1 | select sname,sex |
- 查询不在2,3,4组且名字第二个字为‘金’的同学
1 | select sname,sex |
- 查询所有不姓刘但是名字第二个字为’金’的同学所有信息
1 | select * |
- 查询成绩为空的学生姓名
1 | select distinct sname |
- 查询选修毛概的学生的姓名成绩,并且升序输出
1 | select sname,score |
- 查询所有科目分数总和大于1100的学生姓名与分数总和
1 | select sname,sex,SUM(score) |
- 用嵌套查询,查询所有选修了计网实验的学生姓名
1 | select sname |
- 查询与王艺璇所在同一组的其他同学姓名性别
1 | select sname,sex |
- 找出每个学生超过自己课程平均分的课程名字
1 | select sname,cname |
- 实验八
- 求学生的总人数
1 | select COUNT(*) |
- 求选修了课程的学生人数
1 | select COUNT(student.sno) |
- 求课程的课程号和选修该课程的人数。
1 | select tcid,COUNT(student_course.sno) |
- 求选修课超过3 门课的学生学号
1 | select sno |
11-05更新
- 求选修了高等数学的学生学号和姓名(生成的课程数据中没有高等数学,改为数据库)
1 | select distinct student.sno,sname |
- 求数据库课程的成绩高于张三的学生学号和成绩
1 | select sno,score |
- 求其他系中比计算机系某一学生年龄小的学生信息(即求其它系中年龄小于计算机系年龄最大者的学生)
1 | select * |
- 求其他系中比计算机系学生年龄都小的学生信息
1 | select * |
- 求选修了数据库课程的学生姓名
1 | select sname |
- 求没有选修数据库课程的学生姓名
1 | select sname |
- 查询选修了全部课程的学生的姓名
1 | select sname |
- 求至少选修了学号为101的学生所选修的全部课程的学生学号和姓名。
select sno,sname
from student
where sno in(
select sno
from student_course sc1
where not exists(
select *
from student_course sc2
where sc2.sno='101' and not exists(
select *
from student_course sc3
where sc3.sno=sc1.sno and
sc3.tcid=sc2.tcid
)
)
)