DBA面试之PL/SQL基础测试题

作为DBA熟悉Linux和SQL语句是基本功,面试除了深入了解数据库系统之后。基本功是首要条件,一下是一下sql基础测试题

 

Part1
1.将字符串ABCDE和FF串在一起,回传字符串


2.取ABCDEFG的字符长度


3.将FGHIJ变小写


4.将ABCDE中的B以C取代


5.将eeffdg变大写


6.  5/2取余数


7.  1.1246,第三位后四舍五入


8.  1.1234,第二位后无条件舍去


9.  取出系统日当月的最后一天


10.  将系统日以月为单位做四舍五入


11.  把今天的系统日期用以下的FORMAT ‘YY-MM-DD’呈现

12.  用一个指令,取出C和R谁最大


13.  用一个指令,取出C和R谁最小


14.  用一个指令取出,当某个栏位一和栏位二数值相等时,回传NULL,否则回传栏位一的值


15.  用一个指令取出,当某个栏位为NULL时,回传B,否则回传C


16.  用一个指令,让12345数字栏位冠上$字号


17.  用一个指令取出,当某一个栏位为NULL时,回传NULL字符串,否则回传该栏位值


18.  分别写出,去除左空白、去除右空白、去除左/右空白三个指令


19.  取出B字符存在ABCD字符中的第几个字符


20.取出ABC-D123EF字符串中,’-’符号后面的字符串,不含’-’符号

Part2
1、创建一个学生表,表名为t_student,包含信息:学号(主键),姓名(非空),性别,出生日期,年龄。

2、创建一个成绩表,表名t_score,包含字段:学生学号,学年,语文成绩,数学成绩,英语成绩,平均分,总分。其中学生学号,学年为主键;分数默认0分,平均分保留两位小数,其它保留到整数。


3、向t_student,t_score分别插入3条以上的数据。其中t_score表中的学号一定要存在于t_strdent中;t_score表中的平均分,总分暂不插入数据。


4、查找t_student表,找出姓名第2个字为‘小’的学生。按学号升序排序。


5、查找t_student表,找出年龄20~25之间(含)的学生,如果年龄栏位为空,也算在该范围内。


6、用一条指令求出t_score表中的平均分、总分,更新到相应栏位。


7、找出平均分<60分的学生。栏位要求有:学号,姓名,性别,语文成绩,数学成绩,英语成绩,平均分,总分。

8、对t_score表用一条指令统计每个学年的考试人数。


9、对t_score表用一条指令,统计出每个学年所有学生的语文平均分,找出语文平均分>80分的学年度,按学年降序排序。


10、查找t_student表所有学生的考试成绩,如果没有对应考试成绩用空值补充。


11、用一条指令找出语数英三科成绩有不及格(<60)的学生的基本信息,要求用subquery实现。


12、有一部门表t_dept,包含三个栏位dept_no(部门号),dept_name(部门名词),top_dept_no(上级部门号),用一条指令查找出部门号,部门名称,上级部门号,上级部门名称。


13、建立一个Sequence。说明什么情况下用currval指令取值?什么情况下用nextval指令取值?


14、查找t_student表所有学生资料,返回结果存放到一个cursor中。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值