1.写程序时列出需要的列比直接写SELECT * 更直观。采用这种方式,行数据检索性能相同,列数据检索性能提高;选取部分需要的列时,降低IO和网络传输时间,提高性能。
2.WHERE子句筛选记录配合=,<,>,<=,>=,!,<>和AND,OR等谓词。
3.NULL值用IS NULL和IS NOT NULL来判断。
4.为列取别名,在子查询中特别重要。
5.使用||来拼接列的值。
6.使用case when end子句来实现if-else判断。
7.取top N时,需要注意rownum只能取前n行,不能取第n行,实现第n行使用row_number()。
8.随机取数据(造数据时有用):
SELECT * FROM ( SELECT ename, job FROM emp ORDER BY dbms_random.value() ) WHERE ROWNUM <= 5
9.使用nvl或coalesce或case when end子句处理空值,示例如下:
SELECT empno, ename, job, comm comm_raw, coalesce(comm,0) comm --或 nvl(comm,0) comm FROM emp;
10.用like模糊匹配:%通配 _ 占位符。