首页 > 其他 > 详细

INTERSECT Y EXCEPT

时间:2014-10-21 19:17:02      阅读:320      评论:0      收藏:0      [点我收藏+]

 

intersect y except are both working on same table and multiple tables

 

 

EXCEPT 从左查询中返回右查询没有找到的所有非重复值。

INTERSECT 返回 INTERSECT 操作数左右两边的两个查询都返回的所有非重复值。

以下是将使用 EXCEPT 或 INTERSECT 的两个查询的结果集组合起来的基本规则:

·   所有查询中的列数和列的顺序必须相同。

·   数据类型必须兼容。 

 

Examples:

 

bubuko.com,布布扣CREATE TABLE projectPerson

bubuko.com,布布扣(

bubuko.com,布布扣personId VARCHAR(10),

bubuko.com,布布扣projectId VARCHAR(10),

bubuko.com,布布扣PRIMARY KEY (personId, projectId)

bubuko.com,布布扣)

bubuko.com,布布扣go

bubuko.com,布布扣INSERT INTO projectPerson VALUES (‘joeb‘,‘projBig‘)

bubuko.com,布布扣INSERT INTO projectPerson VALUES (‘joeb‘,‘projLittle‘)

bubuko.com,布布扣INSERT INTO projectPerson VALUES (‘fredf‘,‘projBig‘)

bubuko.com,布布扣INSERT INTO projectPerson VALUES (‘homerr‘,‘projLittle‘)

bubuko.com,布布扣INSERT INTO projectPerson VALUES (‘stevegr‘,‘projBig‘)

bubuko.com,布布扣INSERT INTO projectPerson VALUES (‘stevegr‘,‘projLittle‘)

bubuko.com,布布扣go

bubuko.com,布布扣

我们要找出负责projBig,但不负责projLittle的那些人员,我们可以用下面的sql语句:

bubuko.com,布布扣SELECT personId

bubuko.com,布布扣FROM projectPerson

bubuko.com,布布扣WHERE projectId = ‘projLittle‘

bubuko.com,布布扣EXCEPT

bubuko.com,布布扣SELECT personId

bubuko.com,布布扣FROM projectPerson

bubuko.com,布布扣WHERE projectId = ‘projBig‘

我们要找出既负责projBig,又负责projLittle的那些人员,我们可以用下面的sql语句:

bubuko.com,布布扣SELECT personId

bubuko.com,布布扣FROM projectPerson

bubuko.com,布布扣WHERE projectId = ‘projBig‘

bubuko.com,布布扣INTERSECT

bubuko.com,布布扣SELECT personId

bubuko.com,布布扣FROM projectPerson

bubuko.com,布布扣WHERE projectId = ‘projLittle‘

 

 
 

INTERSECT Y EXCEPT

原文:http://www.cnblogs.com/forint/p/4040971.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!