日期:2014-05-16  浏览次数:20425 次

数据库select面试笔试经典题目

null不能用==或者!=比较  ,必须用 is null 或者is not null

rownum  返回当前行号   

rowid是一个伪列,一般情况用不到,但是当需要具体锁定某一行时,它非常有用,因为它的值绝对不会重复,rowid 类似于hashcode  定位列在内存中的数据。  

between and >=  <=,  效率低,用的少,一般是直接>= <=

in的效率比较低   推荐exists
order by e.sal, e.deptno desc;(指先按e.sal升序,在按deptno降序)
order by e.sal desc, e.deptno desc;(才是两个都按降序)

尽量不用all ,用max来替代他

where A and B     where A or B 都是先执行B,后执行A

n个表连接时,至少需要n-1个过滤条件

注释为/**/ 或者--

只要起了别名,接下来的操作就必须使用别名,别名不是永久更改

别名要么不加引号,要么加“”,  但是不能加‘’,   而在判断字符串的时候要加‘’,不加引号的会自动全部转换为大写,而“”以及字符串‘’中的内容是区分大小写的。

sum(~)时自动将为null的转换为0求和,avg(~)时跳过null字段,不计入个数中

 

 

1、查询EMP表显示在198121日到198151日之间雇佣的雇员名、岗位及雇佣日期,并以雇佣日期进行排序。  (注意日期转换的知识点

select ename, job, hiredate

 from emp

where&nbs