数据库期末总结

您所在的位置:网站首页 从哪里查自己的政治面貌和职务 数据库期末总结

数据库期末总结

2024-07-04 21:59| 来源: 网络整理| 查看: 265

下面是一些简单的SQL,涉及到的表在文末也都附有建表代码和数据。(运行环境:Oracle)

--0327 --1、查询“学生基本信息”表中学生的学号、姓名、性别及政治面貌。 select 学号,姓名,性别,政治面貌 from 学生基本信息; 

--2、将"课程"表中的各课程学分均增加2分,并显示结果。(此处请不要使用update) select 课程号,学分+2 学分 from 课程;

--3、查询“学生基本信息”表中所有学生所属的班号。 select 学号,班号 from 学生基本信息;

--4、查询“学生基本信息”表中性别为“男”的学生的学号、姓名和出生日期。 select 学号,姓名,出生日期,性别 from 学生基本信息 where 性别='男';

--5、查询“选课”表中所有成绩大于80分的学生的学号、课程号和成绩。 select 学号,课程号,成绩 from 选课 where 成绩>80;

--6、查询“学生基本信息”表中家住南京的男生的学号、姓名、性别、籍贯和家庭住址。 --南京后面要加个% select 学号,姓名,性别,籍贯,家庭住址 from 学生基本信息 where 家庭住址 like '南京%' and 性别='男';

--7、查询“选课”表中成绩在70-90分之间的学生的学号、课程号和成绩。 select 学号,课程号,成绩 from 选课 where 成绩>=70 and 成绩500 or job='manager') and ename like 'J%';

--?如何按照工资从低到高的顺序显示雇员的信息 select * from emp order by sal;

--?按照部门号升序而雇员的工资降序排列 select * from emp order by deptno,sal desc;

--?按照年薪升序显示雇员的年薪情况 select ename,(sal+nvl(comm,0))*12 年薪 from emp order by 年薪;

--0410 --1.统计“学生基本信息”表中籍贯为“南京”的学生人数。 select count(学号) from 学生基本信息 where 籍贯= '南京';

--2.在“学生基本信息”表中找出最大和最小的“出生日期”。 select max(出生日期),min(出生日期) from 学生基本信息;

--3.计算出“选课”表中所有课程的总成绩和总平均成绩。 select sum(成绩),avg(成绩) from 选课;

--4.在“选课”表中按课程号进行分组,并汇总每一组课程的平均成绩。 --group by 分组 select 课程号,avg(成绩) from 选课 group by 课程号;

--5.在“学生基本信息”表中统计男、女学生各自的总人数。 --人数和性别位置不能换,count后接人数 select count(学号) 人数,性别 from 学生基本信息 group by 性别;

--6.统计“学生基本信息”表中各班级的总人数,显示统计结果中大于等于2的班级学生总数。 select 班号,count(学号) 人数 from 学生基本信息 group by 班号 having count(学号)>=2;

--0410 select * from 教学计划; select * from 课程; select * from 选课;

--1.查询教学计划及开设课程的详细情况。 select * from 教学计划,课程 where 教学计划.课程号=课程.课程号;

--2.查找不同课程成绩相同的学生的学号、课程号和成绩。 select aa.学号,aa.课程号,aa.成绩 from 选课 aa,选课 bb where aa.课程号!=bb.课程号 and aa.成绩=bb.成绩;

--3.查找选修了“电子商务”课程且成绩在60分以上的学生学号、姓名、课程名及成绩。 select 选课.学号,姓名,课程.课程名,成绩 from 课程,选课,学生基本信息 where 课程.课程号=选课.课程号 and 选课.学号=学生基本信息.学号 and 成绩>60;

--以scott用户中的表为例,完成下列查询。

select * from emp; select * from dept;

--?显示雇员名、雇员工资及所在部门的名字 select ename,sal,dname from emp,dept where emp.deptno=dept.deptno;

--?如何显示部门号为10的部门名、员工名和工资 select ename,sal,dname from emp,dept where emp.deptno=dept.deptno and emp.deptno=10;

--?显示各个员工的姓名,工资及其工资的级别 select emp.ename,emp.sal,grade from emp,salgrade where sal between losal and hisal;

--?显示雇员名,雇员工资及其所在部门的名字,并按部门排序 select ename,sal,dname  from emp,dept  where emp.deptno=dept.deptno order by emp.deptno;

--?如何显示某个员工(如,FORD)的上级领导的姓名。 select worker.ename,boss.ename from emp boss,emp worker where boss.empno=worker.mgr;

--以scott用户中的表为例,完成下列查询。

---数据分组:max、min、avg、sum、count

--?如何显示所有员工中最高工资和最低工资 select max(sal),min(sal) from emp;

--?显示所有员工的平均工资和工资总和 select sum(sal),avg(sal) from emp;

--?计算共有多少员工 select count(empno) from emp;

--扩展:

--?请显示工资最高的员工的姓名,工作岗位 select ename,job from emp where sal=(select max(sal) from emp);

--?请显示工资高于平均工资的员工信息 select * from emp where sal>(select avg(sal) from emp);

---group by和having --?如何显示每个部门的平均工资和最高工资 select deptno,avg(sal),max(sal) from emp group by deptno;

--?显示每个部门的每种岗位的平均工资和最低工资 select deptno,job,avg(sal),min(sal) from emp group by deptno,job;

--?显示平均工资低于2000的部门号和它的平均工资 select deptno,avg(sal) from emp group by deptno having avg(sal)all(select sal from emp where deptno=30);

--如何显示工资比部门30的任意一个员工的工资高的员工的姓名、工资和部门号 select ename,sal,deptno from emp  where sal>(select min(sal) from emp where deptno=30);

select ename,sal,deptno from emp  where sal>any(select sal from emp where deptno=30);

--!!!如何查询与smith的部门和岗位完全相同的所有雇员 --两两对应 select ename,deptno,job from emp  where (deptno,job)=(select deptno,job from emp where ename='SMITH');

--如何显示高于自己部门平均工资的员工的信息 select emp.deptno,ename,sal from emp,(select deptno,avg(sal) mysal from emp group by deptno) aa where emp.deptno=aa.deptno and emp.sal>aa.mysal;

SELECT * FROM SS;

SELECT * FROM SC;

SELECT * FROM C;

--1、查询选修课程名称为’税收基础’的学员学号和姓名 select SS.SNO,SN from SS,SC,C where C.CNO=SC.CNO and SS.SNO=SC.SNO and CN='税收基础';

--2、查询选修课程编号为’C2’的学员姓名和所属单位 select SN,SD from SS,SC where SS.SNO=SC.SNO and CNO='C2';

--3、查询不选修课程编号为’C5’的学员姓名和所属单位 select distinct SN,SD from SS,SC  where SS.SNO not in(select SS.SNO from SS,SC where SS.SNO=SC.SNO and CNO='C5');

--4、查询选修了课程的学员人数 --select distinct SNO from SC 虚表,得出选修了的学员 select count(SNO) from (select distinct SNO from SC);

--5、查询选修课程超过5门的学员学号和所属单位 select SS.SNO,SD from SS where SNO=(select SC.SNO from SC group by SNO having count(SNO)>5);

 

数据库概论——理论篇参考:https://blog.csdn.net/weixin_37590454/article/details/81227906

 

附录:

1、本文章涉及到的scott用户的emp、dept、bonus、salgrade表以及表数据的建表源码参考我的另一篇博客:https://blog.csdn.net/weixin_37590454/article/details/80795670

2、涉及到的其余表的建表代码及数据参考以下代码:

/*表1 学生基本信息*/ create table 学生基本信息 (学号 char(9)NOT null, 姓名 char(10), 性别 char(4), 出生日期 date, 政治面貌 char(20), 入学时间 date, 系部代码 char(2), 班号 char(6), 籍贯 char(10), 家庭住址 varchar2(100) ); commit; insert into 学生基本信息 values('125204001','王一枚','男',to_date('1993-03-02','yyyy-mm-dd'),'共青团员',to_date('2012-09-14','yyyy-mm-dd'),'01','520401','南通','如皋市长江镇二案村'); insert into 学生基本信息 values('125204002','李碧玉','女',to_date('1993-08-06','yyyy-mm-dd'),'共青团员',to_date('2012-09-14','yyyy-mm-dd'),'01','520402','南通','南通市开发区小海镇定海村'); insert into 学生基本信息 values('125901001','张玉桥','男',to_date('1992-09-12','yyyy-mm-dd'),'共产党员',to_date('2012-09-14','yyyy-mm-dd'),'04','590102','南京','南京市高淳县东贝镇贝乡'); insert into 学生基本信息 values('126601002','赵思男','男',to_date('1993-01-03','yyyy-mm-dd'),'共青团员',to_date('2012-09-14','yyyy-mm-dd'),'07','660108','南京','南京市栖霞区龙潭街道兴隆社区'); insert into 学生基本信息 values('126202001','陈晗韵','女',to_date('1993-05-06','yyyy-mm-dd'),'共青团员',to_date('2012-09-14','yyyy-mm-dd'),'06','620203','南京','南京市第八十七高级中学'); insert into 学生基本信息 values('115204001','李绿杨','女',to_date('1991-12-07','yyyy-mm-dd'),'共青团员',to_date('2011-09-16','yyyy-mm-dd'),'01','520402','南通','南通市崇川区观音山镇海洪'); insert into 学生基本信息 values('116202001','胡静怡','男',to_date('1992-06-16','yyyy-mm-dd'),'共青团员',to_date('2011-09-16','yyyy-mm-dd'),'06','620201','南通','海安县李堡镇新庄村'); insert into 学生基本信息 values('116202002','宛如缺','女',to_date('1991-02-28','yyyy-mm-dd'),'共青团员',to_date('2011-09-16','yyyy-mm-dd'),'06','620201','徐州','丰县欢口中学'); insert into 学生基本信息 values('106701001','于归','男',to_date('1990-01-02','yyyy-mm-dd'),'共产党员',to_date('2010-09-16','yyyy-mm-dd'),'07','670101','扬州','扬州市瘦西湖百花园25-120室'); insert into 学生基本信息 values('106701002','江风','女',to_date('1991-10-25','yyyy-mm-dd'),'共青团员',to_date('2010-09-16','yyyy-mm-dd'),'07','670101','南京','南京市鼓楼区新花苑123-302室'); insert into 学生基本信息 values('126601001','功勋','男',null,null,null,null,null,null,null);

 

/*表5-9 课程*/ create table 课程 (课程号 char(4)  not null , 课程名 varchar2(30), 课程性质 char(1), 学分 number ); commit; insert  into 课程 values('0001','高等数学','A',6); insert  into 课程 values('0002','大学英语','A',6); insert  into 课程 values('0003','大学物理','A',5); insert  into 课程 values('0110','值班与避碰','A',5); insert  into 课程 values('0111','GMDSS通信','A',6); insert  into 课程 values('0301','办公室应用','A',4); insert  into 课程 values('0302','关系数据库','A',5); insert  into 课程 values('0306','会计基础','A',5); insert  into 课程 values('0307','西方经济学','B',3); insert  into 课程 values('0310','操作系统基础','A',3); insert  into 课程 values('0311','电子商务','B',4); insert  into 课程 values('0706','材料力学','A',4);

/*表3 选课*/ create table 选课 (学号 char(9)  not null, 课程号 char(4) not null, 成绩 number, 补考成绩 number ); insert  into 选课 values('125204001','0110',75,null); insert  into 选课 values('125204002','0110',80,null); insert  into 选课 values('125204001','0111',65,null); insert  into 选课 values('125901001','0706',45,null); insert  into 选课 values('126601002','0706',70,null); insert  into 选课 values('126202001','0001',80,null); insert  into 选课 values('125204002','0002',76,null); insert  into 选课 values('125901001','0311',85,null); insert  into 选课 values('115204001','0307',90,null); insert  into 选课 values('106701001','0310',45,null); insert  into 选课 values('106701002','0310',82,null); insert  into 选课 values('116202001','0302',70,null); insert  into 选课 values('115204001','0302',50,null); insert  into 选课 values('126601002','0002',78,null);

/*表4 系部*/ create table 系部 (系部代码 char(2) not null, 系部名称 varchar2(20), 系主任 char(10), 联系电话 char(11), 备注 varchar2(50) ); insert into 系部 values('01','航海系','王寅虎','15698023',null); insert into 系部 values('02','交通工程系','陈国军','82459871',null); insert into 系部 values('03','机电系','成功','85124789',null); insert into 系部 values('04','计算机系','丁灿','15666666',null); insert into 系部 values('05','通信系','飞越','39547888',null); insert into 系部 values('06','管理系','龙海生','32489702',null); insert into 系部 values('07','人文艺术','赵炯','65888888',null);

/*表5  专业*/ create table 专业  (专业代码 char(4) not null, 专业名称 varchar2(20), 系部代码 char(2) ); insert into 专业  values('5204','航海技术','01'); insert into 专业  values('5206','港口运输','02'); insert into 专业  values('5503','电力技术','03'); insert into 专业  values('5703','水利水电设备','03'); insert into 专业  values('5901','计算机','04'); insert into 专业  values('5903','通信','05'); insert into 专业  values('6202','财务会计','06'); insert into 专业  values('6601','语言文化','07'); insert into 专业  values('6701','艺术设计','07');

/*表6  班级*/ create table 班级 (班号 char(6)  not null, 班级名称 varchar(20), 学生数 int, 专业代码 char(4), 系部代码 char(2), 班主任 char(20), 班长 char(10), 教室 varchar2(15) ); insert into 班级 values('520401','航海技术',40,'5204','01','乔成喜','胡琛','J501'); insert into 班级 values('520402','水运管理',42,'5204','01','王坚','周刊','J302'); insert into 班级 values('520405','轮机工程技术',40,'5204','01','张圣','李琳琳','J401'); insert into 班级 values('520601','港口业务管理',50,'5206','02','白玉华','陈苑','J5302'); insert into 班级 values('550307','电网监控技术',45,'5503','03','赵悦','张锁烟','J403'); insert into 班级 values('570302','机电设备',50,'5703','03','吟露','胡萍萍','J404'); insert into 班级 values('590101','计算机应用',40,'5901','04','雨荷','陈香儿','J201'); insert into 班级 values('590102','网络技术',35,'5901','04','千笑怡子','梁亮','J202'); insert into 班级 values('590103','多媒体技术',40,'5901','04','陈竹韵','萧哥','J203'); insert into 班级 values('620201','财务管理',45,'6202','06','顾晓明','王聪','J204'); insert into 班级 values('620203','会计',40,'6202','06','晶银银','朱晓宏','J205'); insert into 班级 values('670101','艺术设计',35,'6701','07','陈设','申梅','J201'); insert into 班级 values('660108','商务英语',40,'6601','07','攻关','周旋','J101');

/*表7 教师*/ create table 教师 (教师编号 char(7) not null, 姓名 char(15), 性别 char(4), 出生日期 date, 政治面貌 char(20), 参加工作时间 date, 学历 char(20), 职务 char(10), 职称 char(10), 系部代码 char(2), 专业代码 char(4), 备注 varchar2(20) ); insert into 教师 values('0108001','乔红军','男',to_date('1971-08-02','yyyy-mm-dd'),null,to_date('1995-08-01','yyyy-mm-dd'),'大学本科','教师','副教授','01','5204',null); insert into 教师 values('0108002','王坚垒','男',to_date('1973-08-06','yyyy-mm-dd'),'共产党员',to_date('1997-08-02','yyyy-mm-dd'),'大学本科','教师','讲师','01','5204',null); insert into 教师 values('0305001','赵安','女',to_date('1962-09-12','yyyy-mm-dd'),'共产党员',to_date('1986-08-03','yyyy-mm-dd'),'大普','教师','教授','03','5305',null); insert into 教师 values('0306001','王果然','男',to_date('1964-01-03','yyyy-mm-dd'),'共产党员',to_date('1988-08-04','yyyy-mm-dd'),'大学本科','教师','教授','03','5503',null); insert into 教师 values('0407002','赵庆','男',to_date('1983-05-06','yyyy-mm-dd'),'共青团员',to_date('2006-08-01','yyyy-mm-dd'),'大学本科','教师','助讲','04','5703',null); insert into 教师 values('0612005','旭升阳','女',to_date('1985-06-07','yyyy-mm-dd'),'共产党员',to_date('2006-08-02','yyyy-mm-dd'),'研究生','教师','助讲','06','5901',null); insert into 教师 values('0613003','晗笑之子','女',to_date('1980-06-16','yyyy-mm-dd'),null,to_date('1998-08-01','yyyy-mm-dd'),'大学本科','教师','讲师','06','6202',null); insert into 教师 values('0710004','烛影','女',to_date('1982-03-08','yyyy-mm-dd'),'共产党员',to_date('2006-08-02','yyyy-mm-dd'),'研究生','教师','讲师','07','6202',null); insert into 教师 values('0710005','方草','男',to_date('1975-01-02','yyyy-mm-dd'),'共产党员',to_date('1992-08-01','yyyy-mm-dd'),'大学本科','教师','副教授','07','6601',null); insert into 教师 values('0711001','宋竹梅','女',to_date('1960-06-08','yyyy-mm-dd'),'共产党员',to_date('1992-08-01','yyyy-mm-dd'),'研究生','教师','副教授','07','6701',null);

 

/*表8 教师任课*/ create table 教师任课 (教师编号 char(7)  not null, 课程号 char(4)  not null, 系部代码 char(2), 专业代码 char(4),    班号 char(6), 开课学期 number, 学生数 number, 备注 varchar2(20) ); insert into 教师任课 values('0108001','0110','01','5204','520401',4,40,null); insert into 教师任课 values('0108001','0706','02','5206','520402',2,42,null); insert into 教师任课 values('0108002','0111','01','5204','520401',4,40,null); insert into 教师任课 values('0305001','0311','04','5901','590102',3,35,null); insert into 教师任课 values('0306001','0301','06','6202','620201',2,45,null); insert into 教师任课 values('0407002','0310','07','6701','620201',2,45,null); insert into 教师任课 values('0612005','0001','04','5901','590102',1,35,null); insert into 教师任课 values('0612005','0002','04','5901','590102',1,35,null); insert into 教师任课 values('0711001','0307','06','6202','660108',2,40,null);

 

/*表9 教学计划*/ create table 教学计划 (课程号 char(4) not null, 专业代码 char(4),  课程类型 char(1), 开课学期 number, 学时数 number, 班号 char(6) ); insert into 教学计划 values('0110','5204','A',4,60,null); insert into 教学计划 values('0111','5204','A',4,75,null); insert into 教学计划 values('0306','6202','A',1,80,null); insert into 教学计划 values('0706','5206','A',2,72,null); insert into 教学计划 values('0001','5901','A',1,90,null); insert into 教学计划 values('0002','5901','A',1,90,null); insert into 教学计划 values('0311','5901','B',3,60,null); insert into 教学计划 values('0307','6202','B',3,50,null); insert into 教学计划 values('0310','6701','A',2,45,null); insert into 教学计划 values('0301','6202','A',2,60,null);  

 



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3