一些高难度的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...

面试题 相关文章推荐
如何用PHP实现邮件发送
Dec 26 面试题
Yahoo-PHP面试题4
May 05 面试题
如何设定的weblogic的热启动模式(开发模式)与产品发布模式
Sep 08 面试题
Java如何格式化日期
Aug 07 面试题
一套Java笔试题
Aug 20 面试题
C语言编程题
Mar 09 面试题
数据库专业英语
Nov 30 面试题
铭万公司.net面试题笔试题
Jul 20 面试题
Discard Protocol抛弃协议的作用是什么
Oct 10 面试题
同步和异步有何异同,在什么情况下分别使用他们?
Dec 28 面试题
解释下面关于J2EE的名词
Nov 15 面试题
介绍一下Ruby的多线程处理
Feb 01 面试题
在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单例模式实现方法分析
2015/03/14 PHP
PDO实现学生管理系统
2020/03/21 PHP
IE8 兼容性问题(属性名区分大小写)
2009/06/04 Javascript
jQuery dialog 异步调用ashx,webservice数据的代码
2010/08/03 Javascript
jquery的Tooltip插件 qtip使用详细说明
2010/09/08 Javascript
基于jquery的blockui插件显示弹出层
2011/04/14 Javascript
基于jquery的9行js轻松实现tab控件示例
2013/10/12 Javascript
jquery选择器大全 全面详解jquery选择器
2014/03/06 Javascript
javascript面向对象特性代码实例
2014/06/12 Javascript
jQuery 和 CSS 的文本特效插件集锦
2014/12/12 Javascript
jQuery统计上传文件大小的方法
2015/01/24 Javascript
JavaScript改变CSS样式的方法汇总
2015/05/07 Javascript
jQuery1.9+中删除了live以后的替代方法
2016/06/17 Javascript
基于JS实现发送短信验证码后的倒计时功能(无视页面刷新,页面关闭不进行倒计时功能)
2016/09/02 Javascript
利用JQuery直接调用asp.net后台的简单方法
2016/10/27 Javascript
详解微信小程序——自定义圆形进度条
2016/12/29 Javascript
js实现常见的工具条效果
2017/03/02 Javascript
Angular2开发——组件规划篇
2017/03/28 Javascript
微信小程序实现动态设置placeholder提示文字及按钮选中/取消状态的方法
2017/12/14 Javascript
vue 中filter的多种用法
2018/04/26 Javascript
jquery弹窗时禁止body滚动条滚动的例子
2019/09/21 jQuery
解决vue cli使用typescript后打包巨慢的问题
2019/09/30 Javascript
微信小程序实现比较功能的方法汇总(五种方法)
2020/03/07 Javascript
angular组件间传值测试的方法详解
2020/05/07 Javascript
[02:08]2014DOTA2国际邀请赛 430专访:力争取得小组前二
2014/07/11 DOTA
python实现无证书加密解密实例
2014/10/27 Python
使用Python中的reduce()函数求积的实例
2019/06/28 Python
在django admin中添加自定义视图的例子
2019/07/26 Python
Python使用ElementTree美化XML格式的操作
2020/03/06 Python
解决django的template中如果无法引用MEDIA_URL问题
2020/04/07 Python
Python实例教程之检索输出月份日历表
2020/12/16 Python
高一地理教学反思
2014/01/18 职场文书
学校党委干部个人对照检查材料思想汇报
2014/10/09 职场文书
班干部学习委员竞选稿
2015/11/20 职场文书
新店开业策划方案怎么书写?
2019/07/05 职场文书
ORACLE数据库对long类型字段进行模糊匹配的解决思路
2021/04/07 Oracle