SQL怎么查询两个表中不同的数据 5

比如a表,三个字段(产权证号,产权人,坐落),表B也是这三个字段(产权证号,产权人,坐落),然后表a里有十条数据,表B里有3条数据。那怎么通过脚本,把表a里的除了表B里的... 比如a表,三个字段(产权证号,产权人,坐落),表B也是这三个字段(产权证号,产权人,坐落),然后表a里有十条数据,表B里有3条数据。那怎么通过脚本,把表a里的除了表B里的3条数据之外的7条数据查出来呢? 展开
 我来答
仁昌爱娱乐
高粉答主

2019-12-11 · 专注关心娱乐
仁昌爱娱乐
采纳数:760 获赞数:459852

向TA提问 私信TA
展开全部

工具/材料:Management Studio。

1、首先在桌面上,点击“Management Studio”图标。

2、其次在该界面中,点击“新建查询”按钮。

3、继续在该界面中,输入查询两个表中不同的数据的SQL语句。

4、再者在该界面中,点击“执行”按钮。

5、最后在该界面中,显示两个表中不同的数据。

博学小赵爱生活
高能答主

2020-03-16 · 专注于食品生活科技行业
博学小赵爱生活
采纳数:456 获赞数:111886

向TA提问 私信TA
展开全部

使用except函数,select * from B where (select count(1) from A where A.ID = B.ID) = 0.

方法一(推荐)

WITH   C AS ( SELECT   Name

FROM     ConsumerCouponApply A

WHERE    NOT EXISTS ( SELECT 1

FROM   ConsumerCouponApply B

WHERE  B.Name = A.Name

GROUP BY B.Name )

GROUP BY A.Name

)

SELECT  COUNT(1)

FROM    C

方法二

WITH    C AS ( SELECT   A.Name

FROM     ConsumerCouponApply A

GROUP BY A.Name

EXCEPT

SELECT   B.Name

FROM     ConsumerCouponApply B

GROUP BY B.Name

)

SELECT  COUNT(1)

FROM    C

方法三

SELECT  COUNT(A.Name)

FROM    ConsumerCouponApply A

LEFT JOIN ConsumerCouponApply B ON A.Name = B.Name

WHERE   B.ID IS NULL

扩展资料:

高级查询运算词:

A: UNION 运算符:

UNION 运算符通过组合其他两个结果表(例如 TABLE1 和 TABLE2)并消去表中任何重复行而派生出一个

结果表。当 ALL 随 UNION 一起使用时(即 UNION ALL),不消除重复行。两种情况下,派生表的每一行

不是来自 TABLE1 就是来自 TABLE2。

B: EXCEPT 运算符

EXCEPT 运算符通过包括所有在 TABLE1 中但不在 TABLE2 中的行并消除所有重复行而派生出一个结果表。当 ALL 随 EXCEPT 一起使用时 (EXCEPT ALL),不消除重复行。

C: INTERSECT 运算符

INTERSECT 运算符通过只包括 TABLE1 和 TABLE2 中都有的行并消除所有重复行而派生出一个结果表。当

ALL 随 INTERSECT 一起使用时 (INTERSECT ALL),不消除重复行。

注:使用运算词的几个查询结果行必须是一致的。



已赞过 已踩过<
你对这个回答的评价是?
评论 收起
SQL的艺术
2018-08-01 · SQL写多了就会在追求极致
SQL的艺术
采纳数:2040 获赞数:3323

向TA提问 私信TA
展开全部

假设两个表都有唯一键UserID

可以这么写(使用全连接【full outer join】:完整外部联接返回左表和右表中的所有行。当某行在另一个表中没有匹配行时,则另一个表的选择列表列包含空值。如果表之间有匹配行,则整个结果集行包含基表的数据值。)

select
    *
from
    RCSA_UserInfoDEL a
    full outer join RCSA_UserInfo b on a.UserID=b.UserID
where
    a.UserID is null
    or b.UserID is null
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zuiaideliyan
推荐于2017-12-16 · TA获得超过102个赞
知道答主
回答量:71
采纳率:100%
帮助的人:78万
展开全部
sql server 2005之后有自带的函数可以处理这个功能,用except可以处理
select * from a
except
select * from b
可以参考:http://blog.csdn.net/tjvictor/article/details/5346024
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式