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

面试题 相关文章推荐
说出数据连接池的工作机制是什么?
Apr 19 面试题
如何打印出当前源文件的文件名以及源文件的当前行号
Apr 05 面试题
Android面试题附答案
Dec 08 面试题
试解释COMMIT操作和ROLLBACK操作的语义
Jul 25 面试题
请解释在new与override的区别
Oct 29 面试题
网络方面基础面试题
Nov 16 面试题
局域网定义和特性
Jan 23 面试题
AJAX都有哪些有点和缺点
Nov 03 面试题
是否可以从一个static方法内部发出对非static方法的调用?
Aug 18 面试题
金额转换,阿拉伯数字的金额转换成中国传统的形式如:(¥1011)-> (一千零一拾一元整)输出
May 29 面试题
请说出这段代码执行后a和b的值分别是多少
Mar 28 面试题
精选干货:Java精选笔试题附答案
Jan 18 面试题
在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
mysql建立外键
2006/11/25 PHP
Thinkphp模板中截取字符串函数简介
2014/06/17 PHP
thinkphp中html:list标签传递多个参数实例
2014/10/30 PHP
Locate a File Using a File Open Dialog Box
2007/06/18 Javascript
JQuery 常用方法基础教程
2009/02/06 Javascript
由点击页面其它地方隐藏div所想到的jQuery的delegate
2013/08/29 Javascript
js实现简单锁屏功能实例
2015/05/27 Javascript
12个非常实用的JavaScript小技巧【推荐】
2016/05/18 Javascript
AngularJS入门教程之MVC架构实例分析
2016/11/01 Javascript
JS实现的添加弹出层并完成锁屏操作示例
2017/04/07 Javascript
正则表达式基本语法及表单验证操作详解【基于JS】
2017/04/07 Javascript
详解create-react-app 自定义 eslint 配置
2018/06/07 Javascript
微信小程序实现日历功能
2018/11/27 Javascript
如何封装了一个vue移动端下拉加载下一页数据的组件
2019/01/06 Javascript
小程序红包雨的实现示例
2019/02/19 Javascript
Vue.js中的组件系统
2019/05/30 Javascript
JS 封装父页面子页面交互接口的实例代码
2019/06/25 Javascript
vue.js实现回到顶部动画效果
2019/07/31 Javascript
[03:55]TI9战队采访——TNC Predator
2019/08/22 DOTA
Python的Flask框架中配置多个子域名的方法讲解
2016/06/07 Python
python 循环遍历字典元素的简单方法
2016/09/11 Python
Python实现的排列组合、破解密码算法示例
2019/04/12 Python
在django view中给form传入参数的例子
2019/07/19 Python
python__name__原理及用法详解
2019/11/02 Python
Python调用钉钉自定义机器人的实现
2020/01/03 Python
Python 连接 MySQL 的几种方法
2020/09/09 Python
CSS3中的注音对齐属性ruby-align用法指南
2016/07/01 HTML / CSS
HTML5 文件域+FileReader 分段读取文件并上传到服务器
2017/10/23 HTML / CSS
百度软件工程师职位
2013/02/14 面试题
槐乡的孩子教学反思
2014/04/27 职场文书
预防煤气中毒方案
2014/06/16 职场文书
机关中层领导干部群众路线教育实践活动个人对照检查材料
2014/09/24 职场文书
婚宴邀请函
2015/01/30 职场文书
大学生学期个人总结
2015/02/12 职场文书
Rust 连接 PostgreSQL 数据库的详细过程
2022/01/22 PostgreSQL
类和原型的设计模式之复制与委托差异
2022/07/07 Javascript