面试时碰到的一道数据库题目
2015-07-21 09:07
295 查看
这几天面试了不少单位,做了些笔试题,做完回来都会回忆一下,做下整理。
如下是一些问题的列表
今天给我印象比较深刻的题目是一道数据库操作题
题目:有如下三张表,要求查询出【职位只有开发】的所有员工的eid和ename
一开始感觉很简单,把下面这条sql语句写了进去
后来一想,这样是没错,但是假如职位有三种或者以上呢?
比如职位表变为
则原语句明显不适用
这时我又发现了另一种方法
查询结果是正确的!但是。。。
还是使用了两次子查询,使得sql语句的效率降低了,还有木有更好的方法呢?
在这里也希望得到各位博友的建议,看看有木有更好的答案!
如下是一些问题的列表
今天给我印象比较深刻的题目是一道数据库操作题
题目:有如下三张表,要求查询出【职位只有开发】的所有员工的eid和ename
一开始感觉很简单,把下面这条sql语句写了进去
Select eid,ename from emp where eid not in (select eid from ej where jid = (select jid from job where jname='测试'));
后来一想,这样是没错,但是假如职位有三种或者以上呢?
比如职位表变为
则原语句明显不适用
这时我又发现了另一种方法
Select eid,ename from emp where eid not in (select eid from ej where jid in (select jid from job where jname <> '开发'));
查询结果是正确的!但是。。。
还是使用了两次子查询,使得sql语句的效率降低了,还有木有更好的方法呢?
在这里也希望得到各位博友的建议,看看有木有更好的答案!
相关文章推荐
- 专题十 面试基本应对机制
- 【LeetCode-面试算法经典-Java实现】【017-Letter Combinations of a Phone Number (电话号码上的单词组合)】
- 【LeetCode-面试算法经典-Java实现】【016-3 Sum Closest(最接近的三个数的和)】
- 【LeetCode-面试算法经典-Java实现】【015-3 Sum(三个数的和)】
- OSChina 周二乱弹 —— 锄禾日当午,码农好辛苦
- 黑马程序员--面向对象之封装
- 黑马程序员————Java基础日常笔记---IO流二
- java面试---自动装箱
- 李陈铖求职安卓开发工程师简历20150720
- 面试题06_重建二叉树——剑指offer系列
- 上海麻辣马资深程序员叶劲峰:我的游戏人生
- 黑马程序员----课题小总结
- 剑指offer-面试题3.二维数组中的查找
- ios面试问题总结
- 面试问题总结
- 程序员福利
- 黑马程序员—IOS基础之OC—内存管理
- 剑指offer-面试题2.实例Singleton模式
- 中科创新面试题
- 黑马程序员——JAVA基础学习之其他对象