注意:1)Oracle中的字符串是严格区分大小写的,日期和字符只能在单引号中出现;
2)把列与列,列与字符连接在一起用 ‘||’符号;
3)列的别名,紧跟列名,也可以在列名和别名之间加入关键字‘AS’,以便在别名中包含空格或特殊的字符并区分大小写,使用双引号。
例子:
SELECT last_name || ' is a ' || job_id AS "Employee Details"
FROM employees
where first_name like '%s_';
通用函数
空值是无效的,未指定的,未知的或不可预知的值,空值不是空格或者0 ,包含空值的数学表达式的值都为空值。
这些函数适用于任何数据类型,同时也适用于空值:
NVL (expr1, expr2)
NVL2 (expr1, expr2, expr3)
NULLIF (expr1, expr2)
COALESCE (expr1, expr2, ..., exprn)
(1)NVL (expr1, expr2) ->expr1为NULL,返回expr2;不为NULL,返回expr1。注意两者的类型要一致
(2)NVL2 (expr1, expr2, expr3) ->expr1不为NULL,返回expr2;为NULL,返回expr3。expr2和expr3类型不同的话,expr3会转换为expr2的类型
(3)NULLIF (expr1, expr2) ->相等返回NULL,不等返回expr1
(4)COALESCE(expr1, expr2, ..., exprn) ->列表中第一个非空的表达式是函数的返回值,如果所有的表达式都是空值,最终将返回一个空值。
条件表达式在SQL语句中使用IF-THEN-ELSE 逻辑。可以使用两种方法:–CASE表达式 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函数 DECODE ( col | expression, search1, result1 [, search2, result2,...,] [, default] )
分组函数
分组函数作用于一组数据,并对一组数据返回一个值。
组函数语法:
SELECT [column,] group_function(column), ...
FROM table
[WHERE condition]
[GROUP BY column]
[ORDER BY column];
注意:在SELECT列表中所有未包含在组函数中的列都应该包含在GROUP BY子句中;
(所用包含于SELECT列表中,而未包含于组函数中的列都必须包含于GROUPBY子句中)
但包含在GROUP BY 子句中的列不必包含在SELECT列表中;
且可以在在GROUP BY子句中包含多个列;
不能在WHERE子句中使用组函数;但可以在HAVING子句中使用组函数。
使用HAVING过滤分组:
1.行已经被分组;
2.使用了组函数;
3.满足HAVING子句中条件的分组将被显示;
SELECT column, group_function
FROM table
[WHERE condition]
[GROUP BY group_by_expression]
[HAVING group_condition]
[ORDER BY column];
| 广告合作:400-664-0084 全国热线:400-664-0084 Copyright 2010 - 2017 www.my8848.com 珠峰网 粤ICP备15066211号 珠峰网 版权所有 All Rights Reserved
|