基本的SQL语句练习
更新时间:2023-10-16 08:36:01 阅读量: 综合文库 文档下载
根据下面三个关系模式完成下面习题:答案已设为白色 需要就全选设为黑色 学生表Student
Sno Sname Ssex Sage Sdept
2000012 19 王林 男 计算机
2000113 18 张大民 男 管理
2000256 19 顾芳 女 管理
2000278 19 姜凡 男 管理
2000014 18 葛波 女 计算机
2000011 22 李刚 男 计算机
课程表Course Cno Cname Cpno Ccredit 1024 1136 1137 1156 1128 1111 数据库原理 离散数学 管理学 英语 高等数学 体育 1136 1128 4 4 4 6 6 3
学生选课表SC Sno Cno Grade 2000012 1156 80 2000113 1156 89 2000256 1156 93 2000014 1156 88 2000256 1137 77 2000278 1137 89 2000012 1024 80 2000014 1136 90 2000012 1136 78 2000012 1137 70 2000014 1024 88
成绩类别表 type Lowest_grade Highest_grade 85 100 优秀 75 84 良 60 74 及格 0 59 不及格 第一章课件:编写基本的SQL语句。 1. 查询所有学生情况。 2. Select * from student; 3. 查询所有学生的姓名,性别以及年龄。 4. Select sname,ssex,sage from student; 5. 查询所有学生10年后的年龄。 6. Select sage+10 10年后 from student; 7. 查询所有课程(列名用中文显示)。 8. Select cname 课程名 from course; 9. 查看竟有那些学生选课(重复学号显示一次)。 10. Select distinct sno from course where cno is not null; 11. 显示课程表的边结构。 12. Desc course; 第二章课件:约束和排序数据。
01.查询计算机系的所有学生的姓名和年龄。
Select sname,sage from student where sdept =?计算机?; 02.查询体育课的学分。
Select ccredit from course where cname=?体育?; 03.查询年龄小于18的学生。
Select * from student where sage < 18; 04.查询年龄大于20的学生。 Select * from student where sage >20; 05.查询年龄介于18和20之间的学生(包括18和20)。 Select * from student where sage between 18 and 20; 06.查询年龄不在18和20之间的学生。
Select * from student where sage not between 18 and 20 07.查询年龄为18,20,22的学生。
Select * from student where sage in (18,20,22); 08.查询年龄不是18,20,22的学生。
Select * from student where sage not in (18,20,22); 09.查询所有姓张的学生。
Select * from student where sname like ?张%? 10.查询所有没有先行课的课程。
Select cname from course where cpno is null; 11.查询有先行课的课程。
Select cname from course where cpno is not null; 12.在计算机系中找,姓张的男生。
Select * from student where sname like ?张%? and cdept=?计算机? 13.在计算机系中找,姓张的或者姓李的男生并且按照年龄从大到小排序。
Select sname,ssex,sage,sdept from student where sname like '张%' or sname like '李%' order by sage desc ; 14.查询所有学生信息,显示结果先按系从大到小排序,再按年龄排序。 Select * from stident order by sdept desc ,sage desc;
第三章课件:多表查询
1.查询每个学生(学号)选了哪门课(课程)得了多少分? Select sc.sno,c.cname,sc.grade from sc,course c where sc.cno = c.cno; 2.查询每个学生(姓名)选了哪门课(课程号)得了多少分?
select s.aname,c.cno,sc.grade from sc,course c,student s where sc.cno = c.cno and s.sno=sc.sno; 3.查询每个学生(姓名)选了哪门课(课程名)得了多少分?
select s.aname,c.cname,sc.grade from sc,course c,student s where sc.cno = c.cno and s.sno=sc.sno; 4.查询一下王林选可哪门课得了多少分。
select s.aname,c.cname,sc.grade from sc,course c,student s where sc.cno = c.cno and s.sno=sc.sno where s.sname = ‘王林’; 5.查询每个学生的成绩类别(优、良还是及格)。
Select sc.sno,type.type from sc,type where sc.grade between Lowest_grade and Highest_grade; 6.查询哪个学生没有选课(用外查询)。
select s.sno from student s where s.sno not in (select sno from sc where grade !=0); 7.查询哪门课没有人选(用外查询)。
select c.cno from course c where c.cno not in (select cno from sc where grade !=0); 第四章课件:组函数
1.查询一下所有课程的平均分,最高分,最低分和总分数。 Select avg(grade),max(grade),min(grade),sum(grade) from sc; 2.查询一下有多少个学生参加选课。
Select count(grade) from (select distinct sno from sc); 3.查询一下计算机系有多少人过20岁。
Select count(sname) from (Select sname from student where sage >20 and sdept=?计算机?); 4.统计一下计算机系的男生多少人。
Select count(sname) from (Select sname from student where ssex=?男? and sdept=?计算机?); 5.查询一下每个学生考试的最高分和最低分。
Select sno,max(grade),min(grade) from sc group by sno; 6.查询每门课(课程号)的最高分和最底分。
Select cno,max(grade),min(grade) from sc group by cno; 7.查询每门课(课程名)的最高分和最底分。
Select cname,max(hgrade),min(lgrade) from course c,( Select cno,max(grade) hgrade,min(grade) lgrade from sc group by cno) a where c.cno=a.cno group by cname; 8.查询计算机系中男生多少人,女生多少人。
Select (select count(ssex) from student where ssex='男' and sdept='计算机') 男,(select count(ssex) from student where ssex='女' and sdept='计算机') 女 from dual; 9,查询人数在三百人以上的系。
Select sdept ,count(sno) from student group by sdept having count(sno)>300; 10.查询选修人数在三人(包括三人)的课程(课程名)。
Select cname from course where cno in (Select cno from sc group by cno having count(sno)>2); 11.查询各科考试成绩最低的同学。
Select distinct sno from sc where cno in (select cno from (Select cno,min(grade) from sc group by cno)); 12.查询考试成绩小于所选课程平均分的人。(有能力的同学选做)
Select sname from student where sno in (Select sno from sc where grade <(select avg(grade) from sc)); 第五章课件:子查询
1.查询所有比王林大的同学信息。
Select * from student where sage>(select sage from student where sname=?王林?) 2.查询和王林同在一个系的所有学生信息。
Select * from student where sdept=(select sdept from student where sname=?王林?) 3.查询一下谁的成绩(所有成绩)最低。
select sno,min(grade) from sc where sno=(select sno from sc where grade=(select min(grade) from sc)) group by sno; 4.查询一下每门课成绩最底的同学(要姓名,和成绩)。
select s.sname,a.lowgrade from student s,(select sno,min(grade) lowgrade from sc group by sno) a where s.sno=a.sno; 5.查询一下哪个学生没有选课(用子查询)。
select sname from student where sno not in (select sno from sc where grade is not null); 6.查询一下哪门课没有人选(用子查询)。
Select cname from course where cno not in (select cno from sc where grade is not null) 7.查询一下和王林一个系,但是比他年龄大的同学。
Select * from student where sdept =(Select sdept from student where sname=?王林?) and sage>(Select sage from student where sname=?王林?) 第六章课件:DDL语句
1. 创建以上四个表,要求每个表必须有主键,表和表之间必须有外间关联。 2. Alter table 表名 modify 列明 类型 3. 写出INSERT语句,给表添加以上数据。
4. insert into 表名(列名1,列名2....) values(值1,值2.....) 5. 提交所有操作。 6. Commit; 7. 将王林的年龄设置为空。
8. update student set sage = 19 where sname = '王林'; 9. 将张大民调到计算机系。 10. update student set sdept='计算机' where sanme='张大民' 11. 将体育课的学分设置成和管理学学分一样(UPDATE中带有子查询)。 12. update course set ccredit = (select ccredit from course where cname = '管理学') where cname = '体育'; 13. 回滚所有操作。 14. rollback
9.某公司印了一批充值卡,卡的密码是随机生成的,现在出现这个问题: 卡里面的“O和0”(哦和零)“i和1”(哎和一),用户反映说看不清楚,公司决定,把存储在数据库中的密码中所有的“哦”都改成“零”,把所有的“i”都改成“1”; 请编写SQL语句实现以上要求;
数据库表名:Card;密码字段名:PassWord; (提示用的UPDATE和字符函数)
Update card set passwors = replace(password,?o?,?0?), passwors = replace(password,?i?,?1?);
答案已设为白色 需要就全选设为黑色
正在阅读:
基本的SQL语句练习10-16
中国特色社会主义考试试题集04-06
傅雷家书读后感(共)08-23
太阳能设计报告完结05-22
泰兴经济开发区化工物流业发展情况汇报04-24
第26章___概率初步全章导学案06-30
学习第七个国家扶贫日重要指示扶志扶智扶技三管齐下心得体会(5篇范文)08-23
小学生夏夜作文06-15
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 语句
- 练习
- 基本
- SQL
- 河南省郑州一中2017-2018学年高一上学期期中考试数学试卷 Word版含答案
- 2009考研数学真题
- 2016年五四青年节科技活动策划书
- 中国GIS协会2010年GIS科技进步奖 - 图文
- 新标准大学英语综合教程单元测试第10单元答案
- 2、人名头像和名字记忆深入研究
- 浅谈如何激发学生学习英语的兴趣
- 住院诊疗管理与持续改进 - 图文
- 国际商法期末复习题及答案
- 2013年全国大学生导游大赛导游业务试题库
- 党史知识竞赛支持人串词
- 2018年学校校本培训工作总结
- 土石坝设计说明书(平山水利枢纽设计计算说明书)
- 专用钻床液压系统设计
- 三创赛优秀作品 - 农舍吧 - 北京邮电大 - 图文
- 《体育统计学》习题
- 2016年9月固体压强 液体压强
- 人教版小学六年级工程问题
- 郑煤集团公司矿井防治水手册
- 无铅纯锡电镀晶须产生的原因和控制对策概要