Oracle-SQL基础小结
SQL类型
分为三类:数据操纵语言、数据定义语言、数据控制语言
SQL编写工具
SqlPlus
PLSQL
Navicate
算术表达式
别名
如果别名包含空格或特殊字符,或者区分大小写,则需要使用双引号。
select first_name||last_name "employee name",salary*1.2 new_sal from EMPLOYEES t
其它引号 (q) 运算符
SELECT department_name || q'[ Department's Manager Id: ]'
|| manager_id
AS "Department and Manager"
FROM departments;
限制
使用以下项对行进行限制:
– WHERE 子句
– 使用 =、<=、BETWEEN、IN、LIKE 和 NULL 条件的
比较条件
– 使用 AND、OR 和 NOT 运算符的逻辑条件
优先级规则
注意:AND优先级是高于OR的优先级的
两种类型的SQL函数
单行函数
字符函数
LOWER 转换为小写
UPPER 转换为大写
INITCAP 首字母大写
CONCAT 拼接字符串
SUBSTR 截取字符串
LENGTH 字符串长度
INSTR 在字符串中的位置
LPAD | RPAD 左|右填充
TRIM 首位去除字符
REPLACE 替换字符
数字函数
ROUND:将值舍入到指定的小数位
TRUNC:将值截断到指定的小数位
MOD:返回除法运算的余数
日期处理函数
转换函数
TO_CHAR、TO_DATE、TO_NUMBER 函数
使用 TO_CHAR 函数处理日期
TO_CHAR(date, 'format_model')
可以使用双引号来添加字符串
具有一个 fm 元素,用于删除填充的空格或隐藏前导零
使用 TO_CHAR 函数处理数字
TO_CHAR(number, 'format_model')
常规函数
NVL (expr1, expr2)
将空值转换为实际值,数据类型必须匹配
NVL2 (expr1, expr2, expr3)
表达式1不为空取表达式2的值否则取表达式3的值
NULLIF (expr1, expr2)
表达式1和表达式2相等返回NULL否则返回表达式1
COALESCE (expr1, expr2, ..., exprn)
如果第一个表达式不为空,则 COALESCE 函数返回该表达式;否则,它将对其余的表达式执行 COALESCE运算。即返回第一个不为空的表达式。
条件表达式
CASE 表达式
具有与 IF-THEN-ELSE 语句相同的功效,可简化条件查询:
DECODE 函数
具有与 CASE 表达式或 IF-THEN-ELSE 语句相同的功效
组函数
• AVG
• COUNT
• MAX
• MIN
• STDDEV
• SUM
• VARIANCE
组函数忽略行中的空值,如果需要考虑空值可以使用NVL函数转换空值。
使用GROUP BY进行分组
使用组函数的SQL使用HAVING限定组
参考:Oracle Database 11g:SQL 基础 I