(1)intersect 和minus
intersect 就是交集
minus 就是差集
交集就是两个结果集中都有的元素
交集: select uid from tb1
intersect
select uid from tb2
那么既存在tb1 又存在tb2中 相同的UID 就会查出来
差集:select uid from tb1
minus
select uid from tb2
存在于tb1 但不存在与tb2中的uid 会被查出
(2)连接操作符 (||)
用于将两个或者多个字符串合并成一个字符串,或者将一个字符串与一个数值合并在一起。
SELECT ('供应商'|| venname || '的地址是' || venaddress)
FROM vendor_master
(3)ROWID 和 ROWNUM
ROWID 返回行记录的行地址,通常情况下,ROWID 值可以唯一地标识数据库中的一行。
作用: .能最快形式访问表中的一行。
.能显示表中的行是如何存储的。
.可以作为表中行的唯一标识。
例:SELECT ROWID, * FROM EMP WHERE empno='7900';
ROWNUM 返回一个数值单表行的次序,第一行为1,第二行为2.
通过使用 ROWNUM 用户可以限制查询返回的行数(或者分页?)
例:SELECT * FROM EMP WHERE ROWNUM <= 10;
(4)Oracle 函数
1、日期函数
对日期值进行运算,根据用途产生日期/数值类型的结果。
ADD_MONTHS(d, n) 返回 指定日期加上月数后的 日期值
MONTHS_BETWEEN(d1, d2) 返回 两个日期间的 月数
LAST_DAY(d) 返回 指定日期当前的最后一天的 日期值
RONUD(d,[fmt]) 返回 指定日期四舍五入格式(YEAR、MONTH、DAY)后的 日期值
NEXT_DAY(d,day) 返回 指定日期下一个星期几的 日期值
TRUNC(d,[fnt]) 返回 指定日期截断为格式后的 日期值
EXTRACT(fmt FROM d) 返回 指定日期提取的格式的 值
2、字符函数
字符函数接受字符输入,并返回字符或数值。
INITCAP(char) 首字母大写
LOWER(char) 转换为小写
UPPER(char) 转换为大写
LTRIM(char, set) 左裁切
RTRIM(char, set) 右裁切
TRANSLATE(char, from, to) 按字母翻译
REPLACE(char, search_str, replace_str) 字符串替换
INSTR(char, substr[,pos]) 查找子串位置
SUBSTR(char, pos, len) 取子字符串
CONCAT(char1, char2) 连接字符串
CHR(ascii) 根据 ASCII 码返回对应字符串
LPAD / RPAD 左 / 右 填充
LPAD ('function', 15 , '=') 返回 '=======function'
TRAM 开头或结尾(或 开头和结尾)裁剪特定的字符,默认裁剪空格。
TRIM ([LEADING | TRAILING] trim_char)
LENGTH(char) 返回字符串长度
DECODE 逐个值进行字符串替换
DECODE (expr, search1, result1, search2, result2, [ ,default])
DECODE (ostalus, 'p', '准备处理', 'c', '已完成')
3、数字函数
数字函数接受数字输入并返回数值作为输出结果。
ABS(n) 取绝对值
CEIL(n) 向上取值
FLOOR(n) 向下去整
SIN(n) 正弦值
COS(n) 余弦值
POWER(m, n) 指数函数
SQRT(n) 平方根
MOD(m, n) 取余
ROUND(m, n) 小数点后精度四舍五入
TRUNC(m, n) 小数点后精度截断
4、转换函数
转换函数将一种数据类型转换为另一种数据类型。
TO_CHAR (d|n, [,fmt]) 格式化 日期 / 数值
TO_DATE (char [,fmt](5)group by 和having
having是分组(group by)后的筛选条件,分组后的数据组内再筛选 where则是在分组前筛选group by 和 having的解释
(6)