查询两个相同表中不同记录,这样的SQL语句怎么写

 我来答
tjrmgs
2017-01-10 · TA获得超过5764个赞
知道大有可为答主
回答量:2161
采纳率:94%
帮助的人:994万
展开全部
可以用求非交集的办法获取这些记录,写法可以多种多样,具体要视表结构和比对要求而定。
请参考下列例子:

假设A、B两表结构一样,选出两张表中id字段互不相同的记录

select * from A where not exists
(select 1 from B where B.id=A.id)
union all
select * from B where not exists
(select 1 from A where A.id=B.id);

说明:第一个子查询选出A表中未出现于B表里的记录;第二个子查询选出B表中未出现于A表里的记录。两者合并即为互不相同的记录。
懿灬芫
2018-04-05 · TA获得超过7190个赞
知道小有建树答主
回答量:23
采纳率:0%
帮助的人:6306
展开全部

可以用求非交集的办法获取这些记录,写法可以多种多样,具体要视表结构和比对要求而定。

请参考下列例子:

假设A、B两表结构一样,选出两张表中id字段互不相同的记录

select * from A where not exists

(select 1 from B where B.id=A.id) 

union all 

select * from B where not exists

(select 1 from A where A.id=B.id); 

说明:第一个子查询选出A表中未出现于B表里的记录;第二个子查询选出B表中未出现于A表里的记录。两者合并即为互不相同的记录。

  1. 结构化查询语言(Structured Query Language)简称SQL(发音:/ˈes kjuː ˈel/ "S-Q-L"),是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统;同时也是数据库脚本文件的扩展名。

  2. 结构化查询语言是高级的非过程化编程语言,允许用户在高层数据结构上工作。它不要求用户指定对数据的存放方法,也不需要用户了解具体的数据存放方式,所以具有完全不同底层结构的不同数据库系统, 可以使用相同的结构化查询语言作为数据输入与管理的接口。结构化查询语言语句可以嵌套,这使它具有极大的灵活性和强大的功能。

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
山海1992
2017-01-10 · TA获得超过495个赞
知道小有建树答主
回答量:280
采纳率:55%
帮助的人:45.8万
展开全部
单表查询
select classid,examchaper from ks_sjclass where ClassName='山海1992'
双表查询
select top 6 a.CourseID as courseid,Name,TeacherName,ordertype,CountPid,paytime,GoodsMoney,Target from KS_CosOrder a inner join KS_course b on a.courseid=b.courseid where TeachWay=1 and Status=1 and a.username ='liu12345' and a.courseid = '127'order by paytime deSC
三表查询
select distinct a.classid ,examchaper,a.OrderID,ClassName,b.PeriodID ,b.PeriodName,c.UserName
from ks_sjclass a, KS_CosPeriod b, KS_CosOrder c
where b.PeriodID='1531'and c.Cname=a.ClassName and c.UserName='liu12345'
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式