(1)小写字符 --> 大写字符
upper(‘yumiko‘)
如:
(2)大写字符 --> 小写字符
lower(‘YUMIKO‘)
如:
(1)四舍五入函数
ROUND(),默认取整,可以指定保留的位数。
如:
Oracle中提供了很多和日期相关的函数,包括日期的加减,在日期加减时遵循以下规则:
日期 + 数字 = 日期
日期 - 数字 = 日期
日期 - 日期 = 数字
(1)查询员工进入公司的周数
如:
(2)MONTHS_BETWEEN():获取两个时间段中的月数
如:
(1)TO_CHAR:字符串转换函数
(2)TO_DATE:日期转换函数,把字符串的数据转换成日期类型。
如:
(1)NVL:空值处理
(2)DECODE函数:该函数类似if...else if ... else
语法:
DECODE(col/expression,[search1,result1],[search2,result2]...[default]) col/expression:列名或表达式 search1,search2:用于比较的条件 result1,result2:返回值
如果col/expression和serach i 匹配就返回result i,否则返回default的默认值。
(3)case when函数
语法:
CASE expr WHEN comparison_expr1 THEN return_expr1 [WHEN comparison_expr2 THEN return_expr2 WHEN comparison_expr3 THEN return_expr3 ELSE else_expr] END
SELECT COUNT(ename) from emp;
语法:
SELECT * |列名 FROM 表名 {WHERE 查询条件} {GROUP BY 分组字段} ORDER BY 列名1 ASC|DESC,列名2...ASC|DESC
例:查询每个部门的人数。
SELECT deptno,COUNT(ename) FROM emp GROUP BY deptno;
注意:1)如果使用分组函数,SQL只可以把GROUP BY分组条件字段和分组函数查询出来,不能有其他字段。
2)如果使用分组函数,不使用GROUP BY只可以查询出来分组函数的值
SELECT COUNT(ename) FROM emp ;
语法:SELECT {DISTINCT} * |列名.. FROM 表名 别名,表名1 别名 {WHERE 限制条件 ORDER BY 排序字段 ASC|DESC...}
笛卡尔积:如查询两张表,这两个表记录数的乘积,我们称为笛卡尔积。
如:select * from emp,dept where emp.deptno = dept.deptno;
JOIN:如果两个表中至少有一个匹配,则返回行。
LEFT JOIN:即使右表中没有匹配,也从左表返回所有的匹配行。
RIGHT JOIN:即使左表中没有匹配,也从右表返回所有的匹配行。
FULL JOIN:只要其中一个表中存在匹配,就返回行。
在一个查询的内部还包括另一个查询,则此查询称为子查询。(SQL的任何位置都可以加入子查询)
如:select * from emp t1 where t1.sal > (select t.sal from emp t where t.empno = 1234);
(1)rownum:表示行号,实际上这是一个列,并且这个列可以在每张表中出现。
如:select * from emp where rownum < 6 ; --取前5行
原文:https://www.cnblogs.com/willncy/p/12051883.html