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

面试题 相关文章推荐
C语言面试题
Oct 30 面试题
iostream与iostream.h的区别
Jan 16 面试题
以下为Windows NT 下的32 位C++程序,请计算sizeof 的值
Dec 07 面试题
一道SQL面试题
Dec 31 面试题
关于递归的一道.NET面试题
May 12 面试题
this关键字的含义
Apr 08 面试题
Shell如何接收变量输入
Sep 24 面试题
几个常见的软件测试问题
Sep 07 面试题
什么是Remote Module
Jun 10 面试题
请说出这段代码执行后a和b的值分别是多少
Mar 28 面试题
Java如何支持I18N?
Oct 31 面试题
Unix/Linux开发面试题
Aug 16 面试题
在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生成不同颜色、不同大小的tag标签函数
2013/09/23 PHP
PHP使用pcntl_fork实现多进程下载图片的方法
2014/12/16 PHP
解决laravel5.4下的group by报错的问题
2019/10/16 PHP
php 多个变量指向同一个引用($b = &$a)用法分析
2019/11/13 PHP
几个比较经典常用的jQuery小技巧
2010/03/01 Javascript
js弹出框轻量级插件jquery.boxy使用介绍
2013/01/15 Javascript
javascript动态的改变IFrame的高度实现自动伸展
2013/10/12 Javascript
JavaScript判断手机号运营商是移动、联通、电信还是其他(代码简单)
2015/09/25 Javascript
Bootstrap每天必学之进度条
2015/11/30 Javascript
谈谈我对JavaScript原型和闭包系列理解(随手笔记6)
2015/12/20 Javascript
在Javascript操作JSON对象,增加 删除 修改的简单实现
2016/06/02 Javascript
Vue.JS入门教程之列表渲染
2016/12/01 Javascript
JavaScript瀑布流布局实现代码
2017/05/06 Javascript
vue.js框架实现表单排序和分页效果
2017/08/09 Javascript
jQuery实现获取动态添加的标签对象示例
2018/06/28 jQuery
浅谈高大上的微信小程序中渲染html内容—技术分享
2018/10/25 Javascript
vue+layui实现select动态加载后台数据的例子
2019/09/20 Javascript
[01:14]2014DOTA2展望TI 剑指西雅图newbee战队专访
2014/06/30 DOTA
[51:30]OG vs LGD 2018国际邀请赛淘汰赛BO3 第二场 8.26
2018/08/30 DOTA
用Python编程实现语音控制电脑
2014/04/01 Python
Python搭建FTP服务器的方法示例
2018/01/19 Python
Python使用MyQR制作专属动态彩色二维码功能
2019/06/04 Python
这可能是最好玩的python GUI入门实例(推荐)
2019/07/19 Python
利用 Flask 动态展示 Pyecharts 图表数据方法小结
2019/09/04 Python
tensorflow从ckpt和从.pb文件读取变量的值方式
2020/05/26 Python
领导证婚人证婚词
2014/01/13 职场文书
初中数学教学反思
2014/01/16 职场文书
个人查摆剖析材料
2014/02/04 职场文书
青蓝工程实施方案
2014/03/27 职场文书
《北京的春节》教学反思
2014/04/07 职场文书
新闻传媒系求职信范文
2014/04/19 职场文书
社团活动总结报告
2014/06/27 职场文书
幼儿园中班个人总结
2015/02/28 职场文书
农村结婚典礼主持词
2015/06/29 职场文书
Mysql数据库手动及定时备份步骤
2021/11/07 MySQL
windows安装 redis 6.2.6最新步骤详解
2022/04/26 Redis