1. --482, ORACLE / SQL SERVER
  2. --订购数量超过平均值的书籍
  3. WITH Orders_Book
  4. AS
  5. (
  6. SELECT Book_Name, SUM(Qty) Book_Qty
  7. FROM Orders
  8. GROUP BY Book_Name
  9. )
  10. SELECT *
  11. FROM Orders_Book
  12. WHERE Book_Qty >
  13. (
  14. SELECT AVG(Book_Qty)
  15. FROM Orders_Book
  16. )
  17.  
  18. --递归 产生连续数列110000
  19. WITH Tally(N)
  20. AS
  21. (
  22. SELECT 1 N
  23. --FROM DAUL -- ORACLE
  24. UNION ALL
  25. --2.递归区块
  26. SELECT N+1
  27. FROM Tally
  28. WHERE N<=10000
  29. )
  30. SELECT N
  31. FROM TALLY
  32. OPTION (MAXRECURSION 10000) --SQL SERVER设定深度
  33.  
  34. --490, SQL SERVER
  35. --随机抽出3笔员工数据
  36. SELECT TOP 3
  37. E.Emp_Id
  38. , E.Emp_Name
  39. , E.Dept_Id
  40. FROM Employees E
  41. ORDER BY NEWID()
  42.  
  43. --491, SQL SERVER
  44. --在I100I200部门中随机抽出一名员工(子分组中各抽出N笔)
  45. SELECT E.Emp_Id
  46. , E.Emp_Name
  47. , E.Dept_Id
  48. FROM
  49. (
  50. SELECT Emp_Id, Emp_Name, Dept_Id
  51. , ROW_NUMBER() OVER (PARTITION BY Dept_Id
  52. ORDER BY NEWID()) RowNo
  53. FROM Employees
  54. WHERE Dept_Id IN ('I100', 'I200')
  55. ) E
  56. WHERE E.RowNo <=1
  57.  
  58. --492, ORACLE
  59. --随机抽出3笔员工数据
  60. SELECT Emp_Id
  61. , Emp_Name
  62. , Dept_Id
  63. FROM
  64. (
  65. SELECT *
  66. FROM Employees
  67. ORDER BY DBMS_RANDOM.VALUE()
  68. )
  69. WHERE ROWNUM<=3
  70.  
  71. --493, ORACLE
  72. --在I100I200部门中随机抽出一名员工(子分组中各抽出N笔)
  73. SELECT E.Emp_Id
  74. , E.Emp_Name
  75. , E.Dept_Id
  76. FROM
  77. (
  78. SELECT Emp_Id, Emp_Name, Dept_Id
  79. , ROW_NUMBER()
  80. OVER (PARTITION BY Dept_Id
  81. ORDER BY DBMS_RANDOM.VALUE()) RowNo
  82. FROM Employees
  83. WHERE Dept_Id IN ('I100', 'I200')
  84. ) E
  85. WHERE E.RowNo <=1
  86.  
  87. --495, SQL SERVER
  88. --以符号分割的字符串 分拆成table返回,含一字段 Column_Value
  89. create function [dbo].[m_split](@c varchar(2000),@split varchar(2))
  90. returns @t table(col varchar(200))
  91. as
  92. begin
  93. while(charindex(@split,@c)<>0)
  94. begin
  95. insert @t(col) values (substring(@c,1,charindex(@split,@c)-1))
  96. set @c = stuff(@c,1,charindex(@split,@c),'')
  97. end
  98. insert @t(col) values (@c)
  99. return
  100. end
  101.  
  102. --测试
  103. select * from [dbo].[m_split]('1,2,3', ',')
  104.  
  105. --496, ORACLE
  106. --以符号分割的字符串 分拆成table返回,含一字段 Column_Value
  107. CREATE OR REPLACE TYPE split_tbl AS TABLE OF VARCHAR2(32767);
  108.  
  109. --测试1
  110. SELECT Column_Value
  111. FROM TABLE(Split_Tbl(1,2,3))
  112.  
  113. --测试2
  114. SELECT Column_Value
  115. FROM TABLE(Split_Tbl('A','B','C'))

SqlServer和Oracle中一些常用的sql语句10 特殊应用的更多相关文章

  1. SqlServer和Oracle中一些常用的sql语句9 SQL优化

    --SQL查询优化 尽量避免使用or,not,distinct运算符,简化连接条件 /*Or运算符*/ use db_business go select * from 仓库 where 城市='北京 ...

  2. SqlServer和Oracle中一些常用的sql语句5 流程控制语句

    --在sql语句中 begin...end 用来设定一个程序块 相关于c#中的{} declare @yz real,@w int --声明变量 set @w=120 --为变量赋值 if @w< ...

  3. SqlServer和Oracle中一些常用的sql语句3 行列转换

    --217, SQL SERVER SELECT Cust_Name , MAX(CASE WHEN Order_Date ='2009-08-01' THEN AR END) "2009- ...

  4. SqlServer和Oracle中一些常用的sql语句6 存储过程

    --不带参数的存储过程 CREATE procedure proc_sql1 as begin declare @i int set @i=0 while @i<26 begin print c ...

  5. SqlServer和Oracle中一些常用的sql语句7 游标

    declare db_cursor4 scroll cursor for select * from 供应商 --声明游标 open db_cursor4 --打开游标 fetch first fro ...

  6. SqlServer和Oracle中一些常用的sql语句8 触发器和事务

    --创建和执行事后触发器 --更新仓库备份表中记录时自动创建数据表且插入三条记录 create trigger db_trigger1 on 仓库备份 for update as begin if E ...

  7. SqlServer和Oracle中一些常用的sql语句4 局部/全局变量

    --把wh1仓库号中姓名含有"平"字的职工工资在原来的基础上加288 update 职工备份 set 工资=工资+288 where 仓库号='wh1' and 姓名 like ' ...

  8. SqlServer 获取字符串中小写字母的sql语句

    SQL字符串截取(SubString) 作用:返回第一个参数中从第二个参数指定的位置开始.第三个参数指定的长度的子字符串. 有时候我们会截取字符串中的一些特殊想要的东西,大小写字母.模号.汉字.数字等 ...

  9. SqlServer 查看备份文件中逻辑文件信息的Sql语句

    RESTORE FILELISTONLY FROM DISK = 'D:\All\DataBase\(2013-12-18)-1.bak' 用来查看备份文件中的逻辑文件信息. 相关信息:SqlServ ...

随机推荐

  1. 2.一步一步学c#(二):核心c#

    简单的控制台应用程序. 代码(它有把某条消息写到屏幕上的一个类组成) 编译并运行程序得到结果: 在上面的代码示例中,前几行代码与名称空间有关,名称空间是把相关类组合在一起的方式.namespace关键 ...

  2. javascript绑定事件

    本质:不同的库或者工具中总是封装了不同的事件绑定形式,但是究其根源,还是IE事件模型和W3C事件模型不同的处理方式 1)W3C事件模型:支持事件捕捉和冒泡 addEventListener('type ...

  3. JS字符串方法总结整理

    //javascript字符串方法总结   1.String.charAt(n)      //取得字符串中的第n个字符   2.String.charCodeAt(n)  //取得字符串中第n个字符 ...

  4. 从PHP程序员到RAW开发~

    RAW是一款PHP网站开发系统,即使不懂PHP,也可以使用RAW进行PHP程序开发,当然如果已经掌握了PHP,那么使用RAW开发将会是如虎添翼! 怎么理解“如虎添翼”:我们平时要做一个项目的话,我们要 ...

  5. isinstance 和 issubclass

    一.isinstance Python 中的isinstance函数 isinstance是Python中的一个内建函数 语法: isinstance(object, classinfo) 如果参数o ...

  6. ipc$爆破密码

    FOR /L %%i IN (1,1,99) DO net use \\192.168.1.1\ipc$ /user:test %%i && echo %%i>1.txt

  7. [转]深度探索C语言函数可变长参数

    转自:http://www.cnblogs.com/chinazhangjie/archive/2012/08/18/2645475.html 一.基础部分 1.1 什么是可变长参数 可变长参数:顾名 ...

  8. 对程序员的不尊重是中国it产业的悲哀。

    电脑刚进入中国时,“程序员”三个字是一份令人尊敬的岗位,那个时候中国互联网人才奇缺.程序员的价格也就水涨船高.小的时候电视里到处播放着电脑培训学院的招生广告.一说到程序员,给我们的印象都是白领,高薪的 ...

  9. 模拟美萍加密狗--Rockey2虚拟狗(三)

    几经挣扎,我最终还是选择了虚拟设备的方法来模拟Rockey2加密狗.HID.DLL劫持+API劫持的办法技术上虽然简单些,但太繁琐了,不仅要转发大量的函数,还要Hook好几个API,向我这么懒的人可干 ...

  10. oracle命令大全

    内容包括三大项:    1.oracle基本操作语句 2.SQLServer基本操作语句 3.各种数据库连接方法 ******************************************* ...