优化:
1、尽量用列名代替*
2、多表查询优于子查询,子查询最终也是转化成多表查询
3、
Oracle性质:
1、包含null的表达式都为null
处理方法:nvl(a,b) 表示为空等于b,不为空为a
2、null 永远!= null
判断是使用is null 而不是 =null
3、别名的使用 使用as和不使用as是一样的,别名使用双引号的好处在于可以使用特殊符号或者数字作为别名
4、distinct 作用于所有列
5、select 和from一定要一起,与mysql不同
6、Oracle中有dual表,称为伪表
7、||和java中的+号一样,可以连接字符串,例如:select 'a'||'b' from dual
8、单引号表示日期或者字符串,双引号表示列的别名
子查询:
1、可以在主查询的where select from having 后面使用子查询
2、不可以在group by后面使用子查询
3、一般在子查询里面排序,除了top-n问题分析中必须对子查询排序
4、一般子查询先执行,在执行主查询,但相关查询除外
5、单行子查询只能使用单行操作符,多行子查询只能使用多行操作符
6、 not in() 不能查询null,in可以,因为not in 相当于不等于所有 <>all 而a!=null这个条件永远不成立