高级SQL @Oracle
1.集合操作
学习oracle
中集合操作的有关语句,
掌握union,union
all,minus,interest的使用,能够描述结合运算,并且能够将多个查询组合到一个查询中去,能够控制行返回的顺序。
包含集合运算的
查询称为复合查询。见表格1-1
表1-1
Operator Returns content
UNION
由每个查询选择的所有不重复的行 并集不包含重复值
UNION ALL
由每个查询选择的所有的行,包括所有重复的行 完全并集包含重复值
INTERSECT
由每个查询选择的所有不重复的相交行 交集
MINUS
在第一个查询中,不在后面查询中,并且结果行不重复 差集
所有的集合运算与等号的优先级相同,如果SQL
语句包含多个集合运算并且没有圆括号明确地指定另一个顺
序,Oracle服务器将以从左到右的顺序计算。你应该使用圆括号来明确地指定带另外的集合运算的INTERSECT (相交) 运算查询中的赋值顺序。
Union
all 效率一般比union高。
1.1.union和union all
UNION(联合)运算
UNION运算返回所有由任
一查询选择的行。用UNION运算从多表返回所有行,但除去任何重复的行。
原则 :
被选择的列数
和列的数据类型必须是与所有用在查询中的SELECT语句一致。列的名字不必相同。
联合运算在所有被选择的列上进
行。
在做重复检查的时候不忽略空(NULL)值。
IN运算有比UNION
运算高的优先级。
在默认情况下,输出以SELECT子句的第一列的升序排序。
全联合(UNION
ALL)运算
用全联合运算从多个查询中返回所有行。
原则
和联合不同,重复的行不被过
滤,并且默认情况下输出不排序。
不能使用DISTINCT关键字。
使用:
Select
statement union | union all Select statement;
1.2.intersect交集操作
相
交运算
用相交运算返回多个查询中所有的公共行。 无重复行。
原则
相关文档:
系统环境:Windows 7
软件环境:Visual C++ 2008 SP1 +SQL Server 2005
本次目的:编写一个航空管理系统
这是数据库课程设计的成果,虽然成绩不佳,但是作为我用VC++ 以来编写的最大程序还是传到网上,以供参考。用VC++ 做数据库设计并不容易,但也不是不可能。以下是我的程序界面,后面 ......
新建表:
create table [表名]
(
[自动编号字段] int IDENTITY (1,1) PRIMARY KEY ,
[字段1] nVarChar(50) default '默认值' null ,
[字段2] ntext null ,
[字段3] datetime,
[字段4] money null ,
[字段5] int default 0,
[字段6] Decimal (12,4) default 0,
[字段7] image null ,
)
删除表:
Drop table [表 ......
SQL Server的复合索引学习
概要
什么是单一索引,什么又是复合索引呢? 何时新建复合索引,复合索引又需要注意些什么呢?本篇文章主要是对网上一些讨论的总结。
一.概念
单一索引是指索引列为一列的情况,即新建索引的语句只实施在一列上。
用户可以在多个列上建立索引,这种索引叫做复合索引(组合索引)。复合索引的创建� ......
本文将介绍C#项目打包以及自动安装SQL Sever数据库,包括创建部署项目、将主程序项目的输出添加到部署项目中、创建安装程序类、创建自定义安装对话框等等。
’power by: landlordh
’for 2000,xp,2003
Module uninstall
Sub Main ......
闪回
1 特征
闪回数据库只是逻辑数据遭到破坏时的手段。
闪回数据库日志必须在数据库恢复区中创建。
闪回日志不需要归档,不能用于物理恢复。
执行闪回数据库操作时,背景进程RVWR就启动了。
2 使用闪回数据库
3种工具,SQL*Plus,RMAN,OEM。
(1)要求
为了使用闪回数据库,数据库必须处于归档日志模式� ......