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

面试题 相关文章推荐
Tomcat Mysql datasource数据源配置
Dec 28 面试题
C语言面试题
May 19 面试题
试述DBMS的主要功能
Nov 13 面试题
北京一家公司的.net开发工程师笔试题
Apr 17 面试题
光声世纪笔试题目
Aug 25 面试题
System.Array.CopyTo()和System.Array.Clone()有什么区别
Jun 20 面试题
非常详细的C#面试题集
Jul 13 面试题
C# Debug和Testing相关面试题
Oct 25 面试题
软件测试常见笔试题
Feb 04 面试题
什么是测试驱动开发(TDD)
Feb 15 面试题
What is EJB
Jul 22 面试题
UNIX操作系统结构由哪几部分组成
Feb 17 面试题
在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
基于asp+ajax和数据库驱动的二级联动菜单
2010/05/06 PHP
php引用地址改变变量值的问题
2012/03/23 PHP
使用php+apc实现上传进度条且在IE7下不显示的问题解决方法
2013/04/25 PHP
PHP转换IP地址到真实地址的方法详解
2013/06/09 PHP
护卫神php套件 php版本升级方法(php5.5.24)
2015/05/10 PHP
Zend Framework校验器Zend_Validate用法详解
2016/12/09 PHP
PHP基于关联数组20行代码搞定约瑟夫问题示例
2017/11/07 PHP
基于JQuery的动态删除Table表格的行和列的代码
2011/05/12 Javascript
禁用JavaScript控制台调试的方法
2014/03/07 Javascript
Extjs grid添加一个图片状态或者按钮的方法
2014/04/03 Javascript
一个JavaScript操作元素定位元素的实例
2014/10/29 Javascript
JavaScript实现动画打开半透明提示层的方法
2015/04/21 Javascript
简介JavaScript中POSITIVE_INFINITY值的使用
2015/06/05 Javascript
JavaScript数组的一些奇葩行为
2016/01/25 Javascript
微信小程序 ES6Promise.all批量上传文件实现代码
2017/04/14 Javascript
Angular2中select用法之设置默认值与事件详解
2017/05/07 Javascript
帝国cms首页列表页实现点赞功能
2017/10/30 Javascript
详解Immutable及 React 中实践
2018/03/01 Javascript
JS使用遮罩实现点击某区域以外时弹窗的弹出与关闭功能示例
2018/07/31 Javascript
使用webpack构建应用的方法步骤
2019/03/04 Javascript
Fetch超时设置与终止请求详解
2019/05/18 Javascript
浅谈VUE防抖与节流的最佳解决方案(函数式组件)
2019/05/22 Javascript
Element-ui DatePicker显示周数的方法示例
2019/07/19 Javascript
JavaScript中继承原理与用法实例入门
2020/05/09 Javascript
tensorflow实现逻辑回归模型
2018/09/08 Python
python简单鼠标自动点击某区域的实例
2019/06/25 Python
微信公众号token验证失败解决方案
2019/07/22 Python
python GUI库图形界面开发之PyQt5 Qt Designer工具(Qt设计师)详细使用方法及Designer ui文件转py文件方法
2020/02/26 Python
如何通过python计算圆周率PI
2020/11/11 Python
关于h5中的fetch方法解读(小结)
2017/11/15 HTML / CSS
做一个能自适应高度的textarea的示例代码
2019/09/06 HTML / CSS
Mankind西班牙男士护肤品网站:购买皮肤护理、护发和剃须
2017/04/27 全球购物
中国首家奢侈品O2O网购平台:第五大道奢侈品网
2017/12/14 全球购物
离职证明格式样本
2015/06/12 职场文书
Python基础之进程详解
2021/05/21 Python
Redis实现短信验证码登录的示例代码
2022/06/14 Redis