易截截图软件、单文件、免安装、纯绿色、仅160KB

[Sql]EXCEPT 和 INTERSECT关键字

[Sql]EXCEPT 和 INTERSECT关键字
http://www.cnblogs.com/treeyh/archive/2008/07/01/1232845.html
EXCEPT
从 EXCEPT 操作数左边的查询中返回右边的查询未返回的所有非重复值。
INTERSECT
返回 INTERSECT 操作数左右两边的两个查询均返回的所有非重复值。
A. 使用 EXCEPT
在示例中使用 TableA 和 TableB 中的数据。
TableA (col1 int)
TableB (col1 int)

NULL
NULL
NULL
1
NULL
3
1
4
2
4
2
2
3
4
4
以下查询从 EXCEPT
操作数左侧的查询返回右侧查询没有找到的所有非重复值。


SELECT * from TableA EXCEPT
SELECT * from TableB;
下面是结果集: 


Col1
-----------
2
(1 row(s) affected)
B. 使用 INTERSECT
在示例中使用 TableA 和 TableB 中的数据。
TableA (col1 int)
TableB (col1 int)

NULL
2
NULL
2
NULL
2
1
4
2
4
2
2
3
4
4
以下查询返回 INTERSECT
操作数左右两侧的两个查询均返回的所有非重复值。


SELECT * from TableA INTERSECT
SELECT * from TableB;
下面是结果集: 


Col1
-----------
2
4
(2 row(s) affected)


相关文档:

一个项目涉及到的50个SQL语句

 /* 
 标题:一个项目涉及到的50个SQL语句(整理版) 
 作者:爱新觉罗.毓华
 时间:2010-05-10 
 说明:以下五十个语句都按照测试数据进行过测试,最好每次只单独运行一个语句。 
 问题及描述: 
 --1.学生表 
 Student(S#,Sname,Sage,Ssex) ......

50个常用的SQL语句

Student(S#,Sname,Sage,Ssex) 学生表 
Course(C#,Cname,T#) 课程表 
SC(S#,C#,score) 成绩表 
Teacher(T#,Tname) 教师表 
问题: 
1、查询“001”课程比“002”课程成绩高的所有学生的学号; 
select a.S# from (select s#,score from SC where C#='001') a,(sele ......

不同SQL Server版本间的数据库恢复问题

      在这里,我所指的版本是指的2000,2005,2008这样的版本区别,而不是企业版,开发版这样的版本区别.从官方的说法来看,SQL Server是允许数据库从低版本向高版本恢复,但不支持高版本向低版本的恢复,如果我们用高版本的数据库在低版本的数据库引擎下恢复,会出现什么错误描述呢?
    ......

SQL中declare申明变量

在sql语句中添加变量。
declare @local_variable data_type
声明时需要指定变量的类型,
可以使用set和select对变量进行赋值,
在sql语句中就可以使用@local_variable来调用变量
声明中可以提供值,否则声明之后所有变量将初始化为NULL。
例如:declare @id int
       &nb ......

SQL*PLUS中函数

创建函数
CREATE OR REPLACE FUNCTION ntfuc(inp IN NUMBER)
RETURN NUMBER
IS
ntmp NUMBER;
BEGIN
ntmp := inp;
RETURN ntmp;
END ntfuc;
/
执行该函数时
DECLARE
rcn NUMBER;
BEGIN
rcn := ntfunc(1);
END;
/ ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号