专题数据库笔试模拟.docx
《专题数据库笔试模拟.docx》由会员分享,可在线阅读,更多相关《专题数据库笔试模拟.docx(10页珍藏版)》请在冰点文库上搜索。
专题数据库笔试模拟
✧(CORE-E-001)综合练习
▪定义
CORE-F-001——CORE-F-005的综合练习:
1.用sqlplus连接数据库时,为什么会出Oraclenotavailable错误?
OracleSID
2.找出员工的姓中(last_name)第三个字母是a的员工名字
Selectname
fromemp
Wherelast_namelike'__a%';
3.找出员工名字中含有a和e的员工信息.
Select*
Fromemp
Wherenamelike'%a%e%'
Ornamelike'%e%a%';
4.找出所有有提成的员工,列出名字、工资、提成,显示结果按工资从小到大,提成从小到大的顺序
selectfirst_name,salary,commission_pctfroms_empwherecommission_pctisnotnullorderbysalary,commission_pct;
Select*fromemp
Wherebonusisnotnull
Orderbysalary,bonus;
5.42部门有哪些职位
Selectdistinctjob
Fromemp
Wheredept_no=42;
6.除了Sales部门,还有哪些部门,列出部门号、部门名称.
Selectdeptno,dname
Fromdept
Wheredname<>'Sales';
7.显示工资不在1000到1550之间的员工信息:
名字、工资,按工资从大到小排序.
Selectname,salary
Fromemp
Wheresalarynotbetween1000and1550
Andsalaryisnotnull
Orderbysalarydesc;
8.显示职位为StockClerk和SalesRepresentative,年薪在14400和17400之间的员工的信息:
名字、职位、年薪.
Selectname,job,salary*12nianxin
Fromemp
Wherejobin('StockClerk','SalesRepresentative')and
salarybetween1200and1450;
9.解释selectid,commission_pctfroms_empwherecommission_pctisnull和selectid,commission_pctfroms_empwherecommission_pct=null的输出结果.
isnull判断是否为空,=null判断某个值是否等于'null',null=null和null<>null都为null.
10.select语句的输出结果为
select*froms_dept;
select*froms_emp;
select*froms_region;
select*froms_customer;
……
当前用户有多少张表,结果集有多少条记录.
select'select*from'||table_name||';'fromuser_tables;
11.判断selectfirst_name,dept_idfroms_empwheresalary>'1450'是否抱错,为什么?
隐式数据类型转换
Selects.sno,s.sname
FromStudents,Coursec,SC
Where
✧(CORE-E-002)综合练习
▪定义
CORE-F-006——CORE-F-008的综合练习:
1.改变NLS_LANG的值,让selectto_char(salary*12,’L99,999.99’)froms_emp输出结果的货币单位是¥和$
2.列出每个员工的名字,工资、涨薪后工资(涨幅为8%),元为单位进行四舍五入
3.找出谁是最高领导,将名字按大写形式显示
4.Ben的领导是谁(Ben向谁报告).
5.Ben领导谁.(谁向Ben报告).
6.哪些员工的工资高于他直接上司的工资,列出员工的名字和工资,上司的名字和工资
7.哪些员工和Biri(last_name)同部门
8.哪些员工跟Smith(last_name)做一样职位
9.哪些员工跟Biri(last_name)不在同一个部门
10.哪些员工跟Smith(last_name)做不一样的职位
11.显示有提成的员工的信息:
名字、提成、所在部门名称、所在地区的名称
12.显示Operations部门有哪些职位
13.整个公司中,最高工资和最低工资相差多少
14.提成大于0的人数
15.显示整个公司的最高工资、最低工资、工资总和、平均工资,保留到整数位.
16.整个公司有多少个领导
17.列出在同一部门入职日期晚但工资高于其他同事的员工:
名字、工资、入职日期
✧(CORE-E-003)综合练习
▪定义
CORE-F-009——CORE-F-011的综合练习:
1.各个部门平均、最大、最小工资、人数,按照部门号升序排列
2.各个部门中工资大于1500的员工人数
3.各个部门平均工资和人数,按照部门名字升序排列
4.列出每个部门中有同样工资的员工的统计信息,列出他们的部门号,工资,人数
5.该部门中工资高于1000的员工数量超过2人,列出符合条件的部门:
显示部门名字、地区名称
6.哪些员工的工资,高于整个公司的平均工资,列出员工的名字和工资(降序)
7.哪些员工的工资,介于32和33部门(33高些)平均工资之间
8.所在部门平均工资高于1500的员工名字
9.列出各个部门中工资最高的员工的信息:
名字、部门号、工资
10.最高的部门平均工资值的是多少
11.哪些部门的人数比32号部门的人数多
12.Ben的领导是谁(非关联子查询)
13.Ben领导谁(非关联子查询)
14.Ben的领导是谁(关联子查询)
15.Ben领导谁(关联子查询)
16.列出在同一部门共事,入职日期晚但工资高于其他同事的员工:
名字、工资、入职日期(关联子查询)
17.哪些员工跟Biri(last_name)不在同一个部门(非关联子查询)
18.哪些员工跟Biri(last_name)不在同一个部门(关联子查询)
19.Operations部门有哪些职位(非关联子查询)
20.Operations部门有哪些职位(关联子查询)
✧CORE-E-004综合练习
▪定义
CORE-F-012——CORE-F-017的综合练习:
1.显示员工的名字、入职日期、周几入职(用英文全拼),显示顺序从周一至周日.
2.写一个sql脚本,实现多对多关系(暂时不实现约束):
学生表、课程表、学生选课表,学生表包含如下信息:
学号、姓名、性别、出生日期、政治面貌,课程表包含如下信息:
课程号、课程名称、学分、学时、学期,学生选课表包含如下信息:
学号、课程号、成绩并插入数据.
3.在建好表的基础上完成查询:
某个指定的学生(给出学生名字)选了哪些课程.
4.某个指定的学生(给出学号)没有选哪些课程.
✧(CORE-E-005)综合练习
▪定义
CORE-F-018——CORE-F-020的综合练习:
1.工资在1500至3000之间的员工,各自工作的年限(四舍五入,降序).
2.公司规定,每个员工在工作25年的第一个周五,可以申请退休,查询每个员工的这天显示格式:
2010-01-01
3.完善sql脚本中的建表语句,在三张表上增加约束:
学生表、课程表、学生选课表,在数据处理上体现出事务的概念.
4.修改某个学生的出生日期.
5.修改某门课程的学时.
6.删除某名学生.(需要考虑该学生是否已经选了课程)
7.在学生选课表上添加两个字段学生名字和课程名称并填上值.
8.若有两门课程的成绩低于60分将其删除.
9.哪些学生选了所有的课程.
✧(CORE-E-006)综合练习
▪定义
CORE-E-006的综合练习:
1.补充前一天的sql脚本,在学生表、课程表、学生选课表上添加索引.学生表的姓名字段、出生日期字段,课程表上的学分字段,学生选课表的成绩字段.
2.将学生表上的id和课程表上的id用sequence实现.
3.哪些地区没有员工.
4.某个指定学生(给出学生名字)没有选哪些课程
5.42部门员工的纳税情况,税率如下:
0.00——1999.990.00
2000.00——3999.990.09
4000.00——5999.990.20
6000.00——7999.990.30
8000.00——9999.990.40
10000.00——11999.990.42
12000.00——139999.990.44
140000.00orgreater0.45
6.从emp表和dept表中完成如下查询:
各个部门不同职位的工资总和?
输出如下:
JOBDEPT_10DEPT_20DEPT_30
---------------------------------------
CLERK121
SALESMAN4
PRESIDENT1
MANAGER111
ANALYST2
7.有一个权限表XT_QXMX:
(权限序号,权限名称)
QXXHQXMC
1发文填写
2发文审批
3收文填写
4收文审批
权限-人员对应表XT_QXRY,如果某人有某个权限,则在此表有条记录(序号,权限序号,用户名称)
XHQXXHYHMC
12张三
23张三
(张三有两个权限,发文审批和收文填写)
写一个查询:
列出张三有哪些权限,同时列出所有的权限.查询结果如下:
QXXHQXMC是否有此权限
1发文填写false
2发文审批true
3收文填写true
4收文审批false
8.数据如下:
日期事务所标章NO.(varchar2)
12/12北京1
12/12北京2
12/12北京3
12/13河北51
12/13河北52
12/13河北53
12/13河北60
12/13河北70
输出结果如下:
只要日期和事务所一样,标章号连续就把记录合并
日期事务所标章NO.(varchar2)
12/12北京1-3
12/13河北51-53
12/13河北60
12/13河北70
✧(CORE-E-007)项目实战
▪定义
CORE-E-007的项目实战:
实验室管理系统需要说明
该系统提供如下功能模块:
管理员管理、资费管理、用户管理、帐务查询、账单查询、用户自服务.有两类人群使用该系统:
管理员和用户,管理员可以使用管理员管理、资费管理、用户管理、帐务查询、账单查询功能模块,用户可以使用用户自服务模块.管理员包含的信息有:
管理员编码、管理员姓名、登录名、登录密码、联系电话、E-Mail、注册日期、注销日期.管理员有多人,每人可以使用多个功能模块.每个功能模块可以被多名管理员使用.
有用户管理权限的管理员可以管理用户,用户(即为帐务帐号)包含如下信息:
主键编码、用户姓名(真实姓名)、用户账务帐号(用户登录名)、用户账务帐号密码(用户登录密码)、账务帐号状态(0:
开通;1:
暂停;2:
删除)、联系电话、email、开通日期、暂停日期、付款方式(0:
现金;1:
银行转帐;2:
邮局汇款;3:
其他)、职业、省份、性别、公司名称、地址、邮编.一个用户可以在多台Solaris机器上开通帐户(即为业务帐号),实现远程登录.根据使用的时间,进行收费服务.资费政策为开通服务需要缴纳月租费10元,其它标准如下:
资费标准
超出部分使用费
2.45元/20小时
0.01元/分钟
4.95元/40小时
9.95元/100小时
19元/200小时
业务帐号包含的信息为:
主键编码、用户业务帐号(OS系统帐号)、用户业务帐号密码(操作系统密码)、服务器编码(机器IP地址)、业务帐号状态(0:
正常;1:
暂停;2:
删除)、资费编码、开通日期、暂停日期.
1.根据以上说明画出E-R图并设计出表结构,并设计索引.
2.用DDL语句实现表结构、索引,其中主键用sequence实现、
3.完成数据编辑.
4.每个管理员有哪些权限?
5.哪些管理员有所有权限?
6.没有某项权限的管理员有哪些?
7.用户选择了哪些业务?
8.用户选择的业务的资费情况如何?