用到的与sql相关的总结
2013-08-12 16:08
204 查看
1、Oracle行转列函数Listagg()
说明:用法就像聚合函数一样,通过Group by语句,把每个Group的一个字段,拼接起来,非常方便。
如:查询的结果是
1
2
3
需要显示为1,2,3在一列中显示并且用分隔符隔开。
基础的用法:LISTAGG('需要转换的数据','分隔符') WITHIN GROUP( ORDER BY '')
例子:select Listagg(t.name,'|')within GROUP(order by t.name) from table t
2、包含和不包含关键字:exists 和 not exists
3、去掉重复数据关键字:distinct
4、union、union all
5、sql中三个连接关键字:内链接:inner join ;左链接:left join;右链接:right join
6、分组查询关键字:GROUP BY
语法:
select id,name,count(1) from (
select name from table
)GROUP BY id,name;
上面sql是根据id和name进行分组查询。
查询结果:
id name count
1 zhangsan 5
2 lisi 10
7、条件判断语法:
select
(case
when t.type = 1 then
'专题'
when t.type = 2 then
'磨课'
end) as "studyType" from table t
9、创建存储过程相关信息:
--创建存储过程开始(名称为P_IDX_WORKLOAD)
create or replace procedure P_IDX_WORKLOAD (
VS_USER_ID IN VARCHAR2,--输入参数
VI_RTNVALUE IN OUT INTEGER,--输出参数int类型
VS_RTNMSG IN OUT VARCHAR2--输出参数String类型
)
IS
BEGIN
BEGIN --异常捕获开始
DELETE FROM TBL_IDX_WORKLOAD_2_4_HIS WHERE USER_ID=VS_USER_ID; --要写的sql逻辑
EXCEPTION --异常捕获
When others THEN --异常捕获
DBMS_OUTPUT.put_line('sqlcode : ' ||sqlcode);
DBMS_OUTPUT.put_line('sqlerrm : ' ||sqlerrm);
VI_RTNVALUE:=-10; --给输出参数赋值
VS_RTNMSG:='统计失败!'; --给输出参数赋值
ROLLBACK;
RETURN;
END ;--异常捕获结束
COMMIT;--提交
VI_RTNVALUE:=1;--给输出参数赋值
VS_RTNMSG:='统计成功!';--给输出参数赋值
end P_IDX_WORKLOAD;--创建存储过程结束
说明:用法就像聚合函数一样,通过Group by语句,把每个Group的一个字段,拼接起来,非常方便。
如:查询的结果是
1
2
3
需要显示为1,2,3在一列中显示并且用分隔符隔开。
基础的用法:LISTAGG('需要转换的数据','分隔符') WITHIN GROUP( ORDER BY '')
例子:select Listagg(t.name,'|')within GROUP(order by t.name) from table t
2、包含和不包含关键字:exists 和 not exists
3、去掉重复数据关键字:distinct
4、union、union all
5、sql中三个连接关键字:内链接:inner join ;左链接:left join;右链接:right join
6、分组查询关键字:GROUP BY
语法:
select id,name,count(1) from (
select name from table
)GROUP BY id,name;
上面sql是根据id和name进行分组查询。
查询结果:
id name count
1 zhangsan 5
2 lisi 10
7、条件判断语法:
select
(case
when t.type = 1 then
'专题'
when t.type = 2 then
'磨课'
end) as "studyType" from table t
9、创建存储过程相关信息:
--创建存储过程开始(名称为P_IDX_WORKLOAD)
create or replace procedure P_IDX_WORKLOAD (
VS_USER_ID IN VARCHAR2,--输入参数
VI_RTNVALUE IN OUT INTEGER,--输出参数int类型
VS_RTNMSG IN OUT VARCHAR2--输出参数String类型
)
IS
BEGIN
BEGIN --异常捕获开始
DELETE FROM TBL_IDX_WORKLOAD_2_4_HIS WHERE USER_ID=VS_USER_ID; --要写的sql逻辑
EXCEPTION --异常捕获
When others THEN --异常捕获
DBMS_OUTPUT.put_line('sqlcode : ' ||sqlcode);
DBMS_OUTPUT.put_line('sqlerrm : ' ||sqlerrm);
VI_RTNVALUE:=-10; --给输出参数赋值
VS_RTNMSG:='统计失败!'; --给输出参数赋值
ROLLBACK;
RETURN;
END ;--异常捕获结束
COMMIT;--提交
VI_RTNVALUE:=1;--给输出参数赋值
VS_RTNMSG:='统计成功!';--给输出参数赋值
end P_IDX_WORKLOAD;--创建存储过程结束
相关文章推荐
- 工作中用到了webview 下面把webview相关的知识进行一下总结:
- 日期函数相关的SQL总结datediff(),datepart()
- 总结一下最近实践上用到的sql语句
- 干货分享:vue2.0做移动端开发用到的相关插件和经验总结(2)
- SparkSQL相关语法总结
- 测试相关,上线相关 经验总结odps sqltask(自己看的)
- 最近项目中用到sql的一些资料总结
- 最近一年工作中用到的工具和框架总结(javascript相关)
- 20160510 GreenPlum4 SQL中求和相关语句的总结
- SQL关于相关子查询与EXISTS的简单总结
- SparkSQL相关语句总结
- 数据库,SQL等相关知识总结
- SparkSQL相关语句总结
- 工作中用到了webview 下面把webview相关的知识进行一下总结:
- SparkSQL相关语句总结
- Java 中经常用到的技术总结-----(流和网络相关)
- LeetCode数据库题解&&sql相关知识总结
- sql相关语句整理总结[转]
- Sql中用到的与表中的约束相关的操作
- 项目中用到的SQL-总结