Oracle高级查询
来源:互联网 发布:ubuntu如何下命令 编辑:程序博客网 时间:2024/05/17 08:44
Oracle中高级查询
一.使用Case查询
1.查询方式一(order by 1 根据查询出来的第一列排序)
SELECT T.HANDLED_RESULT,
CASE HANDLED_RESULT
WHEN '1' THEN
'未认领'
WHEN '2' THEN
'已认领'
WHEN '3' THEN
'作废'
ELSE
'NO'
END
FROM TT_RECORD_PIECES T
ORDER BY 1;
2.查询方式二
SELECT CASE
WHEN T.HANDLED_RESULT = '1' THEN
'未认领'
WHEN T.HANDLED_RESULT = '2' THEN
'已认领'
WHEN T.HANDLED_RESULT = '3' THEN
'作废'
ELSE
'NO'
END
FROM TT_RECORD_PIECES T;
3.查询方式三
SELECT
COUNT(CASE WHEN T.HANDLED_RESULT = '1' THEN 1 ELSE NULL END) one,
COUNT(CASE WHEN T.HANDLED_RESULT = '2' THEN 1 ELSE NULL END) two
FROM TT_RECORD_PIECES T;
--统计总数,统计时不建议使用count(*),因为效率慢,使用count(rowId)或者某个字段。
SELECT COUNT(1) FROM TT_RECORD_PIECES T;
--查询出来的值为0,相当于不会统计。
SELECT COUNT(NULL) FROM TT_RECORD_PIECES T;
二、Union all,union,intersect、minus集合
1、Union all返回查询检索出来的所有行,包括重复行
2.Union返回查询检索出来的行,去除重复行
3.intersect返回重复行,正对应union中过滤掉的重复行。如下,返回test1和test2中重复行数据
select A,B from test1
intersect
select C,D from test2;
4.minus返回表一减去表二中重复数据之后的行数据。如下,返回test1减去test2中与之重复的数据之后剩余的行数据
select A,B from test1
intersect
select C,D from test2;
三、translate函数 translate(X,from_string,to_String)
1.转换字符串:函数在X字符串中查找from_String将其转换为to_string
1.SELECT translate('66666AA7777','AA','BB') FROM dual;输出结果为66666BB7777
2.转换数字:如下,将5变8,4变7,3变6,2变5,1变4.
SELECT translate(12345,54321,87654) FROM dual;输出结果为45678
三、decode函数:Decode()是Oracle以前所特有的一个函数,如果您正在使用9i及以上版本,应该用case表达式替换
SELECT decode(1,1,'aa',2,'bb','cc') FROM dual;输出结果为aa
- Oracle高级技巧,高级查询
- Oracle高级查询
- Oracle高级查询
- oracle 高级SQL查询
- Oracle高级查询
- Oracle的高级查询
- oracle的高级查询
- Oracle高级查询
- Oracle 高级查询
- Oracle高级查询
- Oracle高级查询加深
- ORACLE 高级查询
- oracle高级查询总
- Oracle 查询高级用法
- ORACLE 高级子查询
- oracle 高级查询
- oracle之高级查询
- Oracle 高级查询
- 基于HTTP的下载客户端
- 手动将pdf转换成word格式的方法
- can总线转载
- R语言中包的安装一些问题的解决
- WaitForMultipleObjects等待超过MAXIMUM_WAIT_OBJECTS个的内核对象
- Oracle高级查询
- 500内部服务器错误解决办法听语音
- 【干货】史上最全的卫星导航术语200条
- 第32个python程序:循环和列表
- Orale11g EXP-00003: 未找到段 (0,0) 的存储定义解决
- Android Touch事件处理机制
- ionic list上拉全屏显示,下拉恢复
- Netty (三) TCP粘包和拆包解决方案
- Android通知栏试谈