SqlServer和Oracle中一些常用的sql语句10 特殊应用
--482, ORACLE / SQL SERVER
--订购数量超过平均值的书籍
WITH Orders_Book
AS
(
SELECT Book_Name, SUM(Qty) Book_Qty
FROM Orders
GROUP BY Book_Name
)
SELECT *
FROM Orders_Book
WHERE Book_Qty >
(
SELECT AVG(Book_Qty)
FROM Orders_Book
) --递归 产生连续数列1至10000
WITH Tally(N)
AS
(
SELECT 1 N
--FROM DAUL -- ORACLE
UNION ALL
--2.递归区块
SELECT N+1
FROM Tally
WHERE N<=10000
)
SELECT N
FROM TALLY
OPTION (MAXRECURSION 10000) --SQL SERVER设定深度 --490, SQL SERVER
--随机抽出3笔员工数据
SELECT TOP 3
E.Emp_Id
, E.Emp_Name
, E.Dept_Id
FROM Employees E
ORDER BY NEWID() --491, SQL SERVER
--在I100和I200部门中随机抽出一名员工(子分组中各抽出N笔)
SELECT E.Emp_Id
, E.Emp_Name
, E.Dept_Id
FROM
(
SELECT Emp_Id, Emp_Name, Dept_Id
, ROW_NUMBER() OVER (PARTITION BY Dept_Id
ORDER BY NEWID()) RowNo
FROM Employees
WHERE Dept_Id IN ('I100', 'I200')
) E
WHERE E.RowNo <=1 --492, ORACLE
--随机抽出3笔员工数据
SELECT Emp_Id
, Emp_Name
, Dept_Id
FROM
(
SELECT *
FROM Employees
ORDER BY DBMS_RANDOM.VALUE()
)
WHERE ROWNUM<=3 --493, ORACLE
--在I100和I200部门中随机抽出一名员工(子分组中各抽出N笔)
SELECT E.Emp_Id
, E.Emp_Name
, E.Dept_Id
FROM
(
SELECT Emp_Id, Emp_Name, Dept_Id
, ROW_NUMBER()
OVER (PARTITION BY Dept_Id
ORDER BY DBMS_RANDOM.VALUE()) RowNo
FROM Employees
WHERE Dept_Id IN ('I100', 'I200')
) E
WHERE E.RowNo <=1 --495, SQL SERVER
--以符号分割的字符串 分拆成table返回,含一字段 Column_Value
create function [dbo].[m_split](@c varchar(2000),@split varchar(2))
returns @t table(col varchar(200))
as
begin
while(charindex(@split,@c)<>0)
begin
insert @t(col) values (substring(@c,1,charindex(@split,@c)-1))
set @c = stuff(@c,1,charindex(@split,@c),'')
end
insert @t(col) values (@c)
return
end --测试
select * from [dbo].[m_split]('1,2,3', ',') --496, ORACLE
--以符号分割的字符串 分拆成table返回,含一字段 Column_Value
CREATE OR REPLACE TYPE split_tbl AS TABLE OF VARCHAR2(32767); --测试1
SELECT Column_Value
FROM TABLE(Split_Tbl(1,2,3)) --测试2
SELECT Column_Value
FROM TABLE(Split_Tbl('A','B','C'))
SqlServer和Oracle中一些常用的sql语句10 特殊应用的更多相关文章
- SqlServer和Oracle中一些常用的sql语句9 SQL优化
--SQL查询优化 尽量避免使用or,not,distinct运算符,简化连接条件 /*Or运算符*/ use db_business go select * from 仓库 where 城市='北京 ...
- SqlServer和Oracle中一些常用的sql语句5 流程控制语句
--在sql语句中 begin...end 用来设定一个程序块 相关于c#中的{} declare @yz real,@w int --声明变量 set @w=120 --为变量赋值 if @w< ...
- SqlServer和Oracle中一些常用的sql语句3 行列转换
--217, SQL SERVER SELECT Cust_Name , MAX(CASE WHEN Order_Date ='2009-08-01' THEN AR END) "2009- ...
- SqlServer和Oracle中一些常用的sql语句6 存储过程
--不带参数的存储过程 CREATE procedure proc_sql1 as begin declare @i int set @i=0 while @i<26 begin print c ...
- SqlServer和Oracle中一些常用的sql语句7 游标
declare db_cursor4 scroll cursor for select * from 供应商 --声明游标 open db_cursor4 --打开游标 fetch first fro ...
- SqlServer和Oracle中一些常用的sql语句8 触发器和事务
--创建和执行事后触发器 --更新仓库备份表中记录时自动创建数据表且插入三条记录 create trigger db_trigger1 on 仓库备份 for update as begin if E ...
- SqlServer和Oracle中一些常用的sql语句4 局部/全局变量
--把wh1仓库号中姓名含有"平"字的职工工资在原来的基础上加288 update 职工备份 set 工资=工资+288 where 仓库号='wh1' and 姓名 like ' ...
- SqlServer 获取字符串中小写字母的sql语句
SQL字符串截取(SubString) 作用:返回第一个参数中从第二个参数指定的位置开始.第三个参数指定的长度的子字符串. 有时候我们会截取字符串中的一些特殊想要的东西,大小写字母.模号.汉字.数字等 ...
- SqlServer 查看备份文件中逻辑文件信息的Sql语句
RESTORE FILELISTONLY FROM DISK = 'D:\All\DataBase\(2013-12-18)-1.bak' 用来查看备份文件中的逻辑文件信息. 相关信息:SqlServ ...
随机推荐
- Jquery ajax调用后台aspx后台文件方法(不是ashx)
在asp.net webForm开发中,用Jquery ajax调用aspx页面的方法常用的有两种:下面我来简单介绍一下. (1)通过aspx.cs的静态方法+WebMethod进行处理 简单的介绍下 ...
- SQL Server 动态行转列(轉載)
一.本文所涉及的内容(Contents) 本文所涉及的内容(Contents) 背景(Contexts) 实现代码(SQL Codes) 方法一:使用拼接SQL,静态列字段; 方法二:使用拼接SQL, ...
- [转]Ubuntu 软件安装、查找、卸载--apt-get、apt-cache命令安全
# apt-get update——在修改/etc/apt/sources.list或者/etc/apt/preferences之後运行该命令.此外您需要定期运行这一命令以确保您的软件包列表是最新的. ...
- BZOJ 1083: [SCOI2005]繁忙的都市(MST)
裸的最小生成树..直接跑就行了 ---------------------------------------------------------------------- #include<c ...
- Centos rpm缺少依赖无法安装mysql5.5
rpm -ivh mysql-5.5.22-2.1.i386.rpm --nodeps --force 缺少依赖导致rpm -ivh mysql-5.5.22-2.1.i386.rpm命令无法安装!
- PHP的环境搭建
下载开发环境 wampserver 下载sublime text 2 sublime使用技巧 1:安装漂亮的编程字体http://pan.baidu.com/s/1xMex9 下载"程序编写 ...
- 【转】DevExpress控件安装
原文链接: DevExpress控件安装.汉化使用教程 - 田园里的蟋蟀 学习网址: 1.DevExpress控件中文网 2.DevExpress控件中文网使用教程 3.DevExpress控件使用经 ...
- html常用标签有哪些?
html看似复杂,其实常用的标签并不多,这里总共介绍一些html的常用标签 文字处理: ①标题:<h1> to <h6> ②段落:<p>文字段落</p> ...
- 27_Blog Reader
这个App是用来读取 Official Google Blog 的内容,然后显示出来. 用了新建工程时用了 Master-Detail Application 这个模板.用了Core Data用来存储 ...
- FreeBSD 10安装KDE桌面环境简介(亲测bsdconfig命令有效)
FreeBSD 10出来一段时间了,自己摸索装上KDE环境,网上介绍的都是10以前版本的,要么对现在的不合适,走了一大圈弯路还是装不好:要么太繁琐且装了一堆无用的软件.本着让更多人能快速方面的入门Fr ...