一些高难度的SQL面试题


Posted in 面试题 onNovember 29, 2016
以下的null代表真的null,写在这里只是为了让大家看清楚

根据如下表的查询结果,那么以下语句的结果是(知识点:not in/not exists+null)
SQL> select * from usertable;
USERID USERNAME
———– —————-
1 user1
2 null
3 user3
4 null
5 user5
6 user6

SQL> select * from usergrade;
USERID USERNAME GRADE
———- —————- ———-
1 user1 90
2 null 80
7 user7 80
8 user8 90
执行语句:

select count(*) from usergrade where username not in (select username from usertable);

select count(*) from usergrade g where not exists
(select null from usertable t where t.userid=g.userid and t.username=g.username);

结果为:语句1( 0 ) 语句2 ( 3 )

A: 0 B:1 C:2 D:3 E:NULL

2

在以下的表的显示结果中,以下语句的执行结果是(知识点:in/exists+rownum)
SQL> select * from usertable;
USERID USERNAME
———– —————-
1 user1
2 user2
3 user3
4 user4
5 user5

SQL> select * from usergrade;
USERNAME GRADE
—————- ———-
user9 90
user8 80
user7 80
user2 90
user1 100
user1 80

执行语句
Select count(*) from usertable t1 where username in
(select username from usergrade t2 where rownum
Select count(*) from usertable t1 where exists
(select ‘x’ from usergrade t2 where t1.username=t2.username and rownum
以上语句的执行结果是:( ) ( )
A: 0 B: 1 C: 2 D: 3

根据以下的在不同会话与时间点的操作,判断结果是多少,其中时间T1 原始表记录为;
select * from emp;
EMPNO DEPTNO SALARY
—– —— ——
100 1 55
101 1 50
select * from dept;
DEPTNO SUM_OF_SALARY
—— ————-
1 105
2

可以看到,现在因为还没有部门2的员工,所以总薪水为null,现在,
有两个不同的用户(会话)在不同的时间点(按照特定的时间顺序)执行了一系列的操作,那么在其中或最后的结果为:

time session 1 session2
———– ——————————- ———————————–
T1 insert into emp
values(102,2,60)

T2 update emp set deptno =2
where empno=100

T3 update dept set sum_of_salary =
(select sum(salary) from emp
where emp.deptno=dept.deptno)
where dept.deptno in(1,2);

T4 update dept set sum_of_salary =
(select sum(salary) from emp
where emp.deptno=dept.deptno)
where dept.deptno in(1,2);

T5 commit;

T6 select sum(salary) from emp group by deptno;
问题一:这里会话2的查询结果为:
T7 commit;
=======到这里为此,所有事务都已完成,所以以下查询与会话已没有关系========

T8 select sum(salary) from emp group by deptno;
问题二:这里查询结果为

T9 select * from dept;
问题三:这里查询的结果为

问题一的结果( ) 问题二的结果是( ) 问题三的结果是( )

A: B:
—————- —————-
1 50 1 50
2 60 2 55

C: D:
—————- —————-
1 50 1 115
2 115 2 50

E: F:
—————- —————-
1 105 1 110
2 60 2 55

有表一的查询结果如下,该表为学生成绩表(知识点:关联更新)
select id,grade from student_grade
ID GRADE
——– ———–
1 50
2 40
3 70
4 80
5 30
6 90

表二为补考成绩表
select id,grade from student_makeup
ID GRADE
——– ———–
1 60
2 80
5 60

现在有一个dba通过如下语句把补考成绩更新到成绩表中,并提交:
update student_grade s set s.grade =
(select t.grade from student_makeup t
where s.id=t.id);
commit;
请问之后查询:
select GRADE from student_grade where id = 3;结果为:

A: 0 B: 70 C: null D: 以上都不对

根据以下的在不同会话与时间点的操作,判断结果是多少,
其中时间T1
session1 session2
————————————– —————————————-
T1 select count(*) from t;
–显示结果(1000)条

T2 delete from t where rownum
T3 begin
delete from t where rownum commit;
end;
/

T4 truncate table t;

T5 select count(*) from t;
–这里显示的结果是多少

A: 1000 B: 900 C: 800 D: 0

Tags in this post...

面试题 相关文章推荐
xml有哪些解析技术?区别是什么
Apr 26 面试题
Java面试中常遇到的问题,也是需要注意的几点
Aug 30 面试题
为什么要有struct关键字
May 08 面试题
北京泡泡网网络有限公司.net面试题
Jul 17 面试题
请解释接口的显式实现有什么意义
May 26 面试题
Linux如何为某个操作添加别名
Mar 01 面试题
介绍一下Linux文件的记录形式
Apr 18 面试题
什么是设计模式
Jun 17 面试题
恒华伟业笔试面试题
Feb 26 面试题
UNIX操作系统结构由哪几部分组成
Feb 17 面试题
Shell脚本如何向终端输出信息
Apr 25 面试题
Servlet都有哪些方法?主要作用是什么?
Mar 04 面试题
在SQL Server中创建数据库主要有那种方式
Sep 10 #面试题
介绍一下SQL Server的全文索引
Aug 15 #面试题
什么是表空间(tablespace)和系统表空间(System tablespace)
Feb 25 #面试题
数据库的约束含义
Sep 09 #面试题
ddl,dml和dcl的含义
May 08 #面试题
索引覆盖(Index Covering)查询含义
Feb 18 #面试题
为什么group by 和order by会使查询变慢
May 16 #面试题
You might like
PHP文件上传之多文件上传的实现思路
2016/01/27 PHP
PHP 返回13位时间戳的实现代码
2016/05/13 PHP
gearman管理工具GearmanManager的安装与php使用方法示例
2020/02/27 PHP
Js之软键盘实现(js源码)
2007/01/30 Javascript
Jquery 绑定时间实现代码
2011/05/03 Javascript
JS对象与JSON格式数据相互转换
2012/02/20 Javascript
js的正则test,match,exec详细解析
2014/01/29 Javascript
AngularJS表单编辑提交功能实例
2015/02/13 Javascript
深入解析JavaScript编程中的this关键字使用
2015/11/09 Javascript
javascript实现自动填写表单实例简析
2015/12/02 Javascript
Jquery Easyui分割按钮组件SplitButton使用详解(17)
2016/12/18 Javascript
vue实现分页栏效果
2019/06/28 Javascript
Node.js 实现远程桌面监控的方法步骤
2019/07/02 Javascript
基于redis的小程序登录实现方法流程分析
2020/05/25 Javascript
uniapp实现可以左右滑动导航栏
2020/10/21 Javascript
[40:50]2014 DOTA2国际邀请赛中国区预选赛 5 23 CIS VS LGD第四场
2014/05/24 DOTA
[02:28]PWL开团时刻DAY3——Ink Ice与DeMonsTer之间的勾心斗角
2020/11/03 DOTA
详解Python中使用base64模块来处理base64编码的方法
2016/07/01 Python
Linux(Redhat)安装python3.6虚拟环境(推荐)
2018/05/05 Python
Python中staticmethod和classmethod的作用与区别
2018/10/11 Python
pytorch 求网络模型参数实例
2019/12/30 Python
python GUI库图形界面开发之PyQt5选项卡控件QTabWidget详细使用方法与实例
2020/03/01 Python
python实现测试工具(二)——简单的ui测试工具
2020/10/19 Python
Html5实现移动端、PC端 刮刮卡效果
2016/06/30 HTML / CSS
解析浏览器的一些“滚动”行为鉴赏
2019/09/16 HTML / CSS
.NET面试题:什么是反射
2016/09/30 面试题
行政工作个人的自我评价
2014/02/13 职场文书
中学教师教育感言
2014/02/21 职场文书
项目合作意向书范本
2014/04/01 职场文书
群众路线党课主持词
2014/04/01 职场文书
委托书范本
2014/09/13 职场文书
职业生涯规划书怎么写?
2014/09/14 职场文书
公路局群众路线教育实践活动第一阶段工作汇报
2014/10/25 职场文书
2015年幼儿园学期工作总结
2015/05/22 职场文书
会议室使用管理制度
2015/08/06 职场文书
阿里云服务器部署RabbitMQ集群的详细教程
2022/06/01 Servers