SQL如何从多个数据表中提取数据?

问题是这样的:SQL_Sever数据库有好几张表,其中用户表:users_table中的id字段包含所有用户的编号,其他表中有部分用户编号id,我想查询的数据是这样的:s... 问题是这样的:
SQL_Sever数据库有好几张表,其中用户表:users_table中的id字段包含所有用户的编号,其他表中有部分用户编号id,我想查询的数据是这样的:
select * from user_table
where id存在于其他所有表中,(即id是的其他表的合集)
谢谢各位的帮助,由于这个数据库非常庞大,需要一种执行比较快的SQL语句,或其他方法.
请各位继续加油,如果被采纳悬赏分直接送出.
展开
 我来答
netgr
2008-01-02 · TA获得超过251个赞
知道小有建树答主
回答量:277
采纳率:0%
帮助的人:332万
展开全部
首先你这个users_table 的ID字段最好设置成主键,其次其他所有表里的ID都需要有索引,这样才能保证速度。
select * from user_table a where
exists (select 1 from sub_table1 b where b.id = a.id )
or
exists (select 1 from sub_table2 c where c.id = a.id )
......
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
qhy4414
2007-12-29 · TA获得超过1093个赞
知道小有建树答主
回答量:243
采纳率:0%
帮助的人:383万
展开全部
你应该这样:
select *from users_table a,users_table1 b,users_table2 c
where a.id=b.id=c.id
其中users_table1、users_table2是你的其他表部分
你还在吗?问题解决没有?
既然遇到问题怎么不回我的话?这样我怎么帮你解决呢?朋友!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
音符纹身
2008-01-05
知道答主
回答量:3
采纳率:0%
帮助的人:0
展开全部
创建视图应该是最快的:
create view vtest
as
select id from 其他表1
union
select id from 其他表2
...
go
--查询
select *
from user_table a inner join vtest b on a.id=b.id
go
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
修萧曼NB
2007-12-30
知道答主
回答量:40
采纳率:0%
帮助的人:0
展开全部
应该在WHERE条件中加入几个表之间以ID编号的相关连接再SELECT
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式