请问该SQL语句如何写? (100分)

  • 主题发起人 村长.net
  • 开始时间

村长.net

Unregistered / Unconfirmed
GUEST, unregistred user!
mobile1
手机号码 姓名 地址
13006367346 王一 中华人民共和国和平路23号
13106367346 王二 中华人民共和国和平路23号
13206367346 王三 中华人民共和国和平路23号
13306367346 王四 中华人民共和国和平路23号
13406367346 王五 中华人民共和国和平路23号
13506367346 王六 中华人民共和国和平路23号

mobile2
手机号码 姓名 地址
13006367346 王一 中华人民共和国和平路23号
13106367346 王二 中华人民共和国和平路23号
13206367346 王三 中华人民共和国和平路23号
13306367346 王四 中华人民共和国和平路23号
13406367346 王五 中华人民共和国和平路23号


1、请问查询出两表中不相同记录的SQL语句是什么?假如查询出王六的手机号码,前题是不知道mobile2中少了王六的手机号码。

2、得到两个表中想同记录最快的语句是什么?

注:手机号码为索引字段,且该字段没有重复记录。

谢谢。
 
select * from table1 a where not exists(select * from table2 b where b.id=a.id)
select * from table1 a where exists(select * from table2 b where b.id=a.id)
 
select distinct * from
(select * from mobile1 union select * from mobile2)
group by 手机号码,姓名,地址 having count(*)=1

select distinct * from
(select * from mobile1 union select * from mobile2)
group by 手机号码,姓名,地址 having count(*)=2
 
顶部