数据库里有A,B,C三张表 ,每张表里都有20万条记录,每张表里都有一个客户ID,现在想检查出同时存在一张表以上的客户ID(也是说,同时存在两2张表或者2张表的客户id)。注意性能。
请问有什么好的方法。
请问有什么好的方法。
解决方案 »
- 大家来帮我看看,关于设计一个无限分级的表的问题~~~~~~~~~~~~~~~
- 怎样搜索sql server实例中所有库名如 master,tempdb、mrpdb...
- SQL Server 里如何让Float数据类型的数据不自动去掉小数末尾的'0'
- 怎样查询一个时间段内的数据
- 如何查询获得字段的描述?
- 请问交叉表问题
- 如何查找一个用户定义的光标是否存在?
- 如何做涉及不同服务器的两个SQL数据库的查询?
- MS SQL没有ORACLE的create or repalce语法怎么替代
- sql server2005 添加新实例
- SQL存储过程问题
- 设置sql server profiler占用资源事件
union
select A.客户id from A inner join C on A.客户id=C.客户id
union
select B.客户id from B inner join C on B.客户id=C.客户id--客户id加索引
from A
where exists(select 1 from B where 客户ID=A.客户ID)
or exists(select 1 from C where 客户ID=A.客户ID)
union
select distinct 客户ID
from B
where exists(select 1 from C where 客户ID=B.客户ID)