数据库作业5——单表查询(例题及实现)
1.选择表中的若干列
3.19 查询全体学生的姓名及其出生年份
3.20 查询全体学生的姓名,出生年份和所在的院系,要求用小写字母表示系名
注 若要给无列名起名字 可以直接在’year of birth’后直接加所需名字
3.21 查询选修了课程的学生学号
如果要去掉重复行,可以加distinct
3.22 查询计算机科学系全体学生名单
3.23 查询所有年龄在20岁以下的学生姓名及其年龄
3.24查询考试成绩不合格的学生学号
3.25查询年龄在20~23(包括20 23)之间学生姓名、系别和年龄
3.26 查询年龄不在20~23之间学生姓名、系别和年龄
3.27 查询计算机科学系、数学系和信息系学生的姓名和性别
3.28 查询不是计算机科学系、数学系和信息系学生的姓名和性别
3.29查询学号为201215121的学生详细情况
注 在后边不含通配符(% _)时 =可换成like
%代表任意长度字符串
_代表任意单个字符
3.30 查询所有姓刘的学生姓名 学号 性别
3.31 查询姓欧阳且全名三个字的学生姓名
3.32 查询第二个字为 阳 的学生姓名学号
3.33 查询所有不姓刘的学生姓名学号性别
3.34 查询DB_Design课程号和学分
注 escape’'表示换码,跟在 \ 后边的字符不再具有通配符含义
3.35查询以‘DB_’开头,且倒数第三个字符为i的课程的详细情况
3.3某些学生选修课程后没有参加考试,所以有选课记录,但没有考试成绩,查询这些学生学号及相应课程号
注 这里is不能用=代替
3.37 查询所有有成绩的学生学号和课程号
3.38查询计算机系年龄20以下的学生姓名
3.39 查询选修了3号课程的学生学号及其成绩 查询结果按分数的降序排列
order by 语句可以对查询结果按升序(asc)或降序(desc)排列,默认升序
3.40 查询全体学生情况,查询结果按所在系的系号升序排列,同一系中的学生按年龄降序排列
聚集函数 count(*)统计元组个数
count([distinct\all]<列名>)统计一列所含值的个数
sum([distinct\all]<列名>)计算一列总和
avg([distinct\all]<列名>)计算一列平均值
max([distinct\all]<列名>)计算一列最大值
min([distinct\all]<列名>)计算一列最小值
3.41查询学生总人数
3.42查询选修了课程的总人数
3.43计算选修1号课程的学生平均成绩
3.44查询选修1号课程的学生最高分数
3.45 查询学生201215012选秀课程的总学分数
3.46 求各个课程号及相应的选课人数
group by 语句将查询结果按某一列或多列的值分组,值相等的为一组
3.47查询选修了三门及以上课程的学生学号
先用group by 按sno进行分组,再用聚集函数count 对每一组计数,having短句给出了选择组的条件
3.48查询平均成绩大于等于90的学生学号和平均成绩