Oracle 冷知识(一)
Long 类型使用中会出现种种问题,不建议使用
& && 的使用(仅用于命令模式)
&用于指定变量,&& 用于输出已有的变量
descritpion 显示对象信息(仅用于命令模式)
例如:
describe zx;
round
trunc
用于数字和日期
nvl(expr1, expr2) 如果expr1不为空则输出expr1,否则输出expr3
NVL2(expr1, expr2, expr3) 如果 expr1 is not null ,则输出expr2否则输出expr3
COALESCE (expr1, expr2, ... exprn) 依次显示值,直到下一个值不为null
COUNT(DISTINCT expr) count 可以配合distince 关键字使用.
SELECT AVG(NVL(commission_pct, 0)) FROM employees; avg 会忽略掉null值,此时可用 nvl 函数来解决
All group funcitons ignore null values
SELECT e.last_name, e.salary, j.grade_level
FROM employees e
INNER JOIN job_grades j
ON e.salary
BETWEEN j.lowest_sal AND j.highest_sal;
这里,连接查询,不一定只能用 "=" 连接,可以使用运算符,函数类的
子查询中 in ,any ,all,exists 的使用,exists 与in 的区别,在于对not时对于null的处理上,如:
SELECT employee_id,
FROM employees
WHERE salary < ANY (SELECT salary
FROM employees
WHERE job_id = ‘IT_PROG‘)
AND job_id <> ‘IT_PROG‘;
UNION,UNION ALL
INTERSECT(共有),MINUS(in the first query ,not in the second query)
集合操作关键字,一般用在改写SQL语句时用到,Union 默认有排序功能
使用union 中使用order by ,order by 放在最后,而且不能指定列名,通过指定列号的方式操作
SELECT employee_id, job_id,salary FROM employees
UNION
SELECT employee_id, job_id,0 FROM job_history
ORDER BY 2;
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。