1.= ,null
>某个字段值用=比较,是比较值,而null是不可用的,不分配的一个数值、未知,所以我觉得不能用将值和null比较,而应该使用is null 是不是
>NULL与零或空白不同
2. order by
使用别名排序
使用列的数字位置
3. 组函数
- MIN和MAX方法 数字,字符和日期数据类型能使用
- count(*) 返回表的行总数:
- count(expr) 返回 表中expr字段不是空值的行总数
- 分组函数忽略NULL值,NVL 强制分组函数含NULL数值
- SELECT AVG(NVL(commission_pct, 0)) FROM employees;
- 不能在WHERE子句中使用分组函数,而应该在having中
4. 条件查询
NULLIF(LENGTH(first_name), LENGTH(last_name)) 两个参数类型要相同
COALESCE(TO_CHAR(commission_pct),TO_CHAR(manager_id),
'No commission and no manager')
CASE expr WHEN comparison_expr1 THEN return_expr1
[WHEN comparison_expr2 THEN return_expr2
WHEN comparison_exprn THEN return_exprn
ELSE else_expr]
END
DECODE(col|expression, search1, result1
[, search2, result2,...,]
[, default])
5.set 操作符
- 在select列表中表达式必须字段数量、类型匹配
- ORDER BY子句能在语句的最后出现
- 除了UNION ALL,相同的行自动地被除去
- 在第一次查询出列的名字在结果中展现
- 除了默认的UNION ALL,输出升序排序
6. 指定默认值
hire_date DATE DEFAULT SYSDATE
7.SEQUENCE
CREATE SEQUENCE dept_deptid_seq
INCREMENT BY 10
START WITH 120
MAXVALUE 9999
NOCACHE
NOCYCLE;