[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)
相关文档:
delete from
uservalid
where(lastlogin<'2007-1-1
0:0:00')
清除在uservalid表中最后登陆时间在2007年1月1日零时零分之前的数据
查询某一范围内的数据则selete * from uservalid
where(wealth in(500,1000))
在查询分析器里面selete from where
in这些关键字都自动大写了
......
Case具有两种格式。简单Case函数和Case搜索函数。
--简单Case函数
CASE sex
WHEN '1' THEN '男'
WHEN '2' THEN '女'
ELSE '其他' END
--Case搜索函数
CASE WHEN sex = '1' THEN '男'
  ......
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 ......
--测试数据
if OBJECT_ID('tb') is not null
drop table tb
go
CREATE TABLE tb(ID char(3),PID char(3),Name nvarchar(10))
INSERT tb SELECT '001',NULL ,'山东省'
UNION ALL SELECT '002','001','烟台市'
UNION ALL SELECT '004','002','招远市'
UNION ALL SELECT '003','001','青岛市'
UNION ALL SELECT '00 ......
MS SQL Server查询优化方法
作者:xmllover 2007-11-29
查询速度慢的原因很多,常见如下几种
1、没有索引或者没有用到索引(这是查询慢最常见的问题,是程序设计的缺陷)
2、I/O吞吐量小,形成了瓶颈效应。
3、没有创建计算列导致查询不优化。
4、内存 ......