关于多表查询的问题

tqw708 2007-03-24 05:04:42
比如有三个表:
1、A表(6万多条数据)
有code、name字段

2、B表(8万多条数据)
有code、name字段

3、C表(含有A和B两个表的Code的数据)
有code、name、stock字段

现想查询A和B两个表里的所有产品和库存量(即code、name、stock)

对于这个查询,怎样写SQL语句用于查询所有最快的??
...全文
272 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
sky708 2007-03-30
  • 打赏
  • 举报
回复
...
tqw708 2007-03-29
  • 打赏
  • 举报
回复
Select D.code, D.name, C.stock From(
Select * From A
Union
Select * From B) D
Inner Join C
On D.code = C.code

对于大数量的数据,如果用这条语句来查询实现,会很慢...

请问大家还有没有更好的方法提高查询速度呢?
iamtsfw 2007-03-25
  • 打赏
  • 举报
回复
select c.codes,c.names,c.stocks
from c
where exists
(select 1 from a,b
where c.codes=a.codes
or c.codes = b.codes
)
tqw708 2007-03-24
  • 打赏
  • 举报
回复
SELECT a.code,c.stock
FROM c
left join a ON c.code = a.code
left join b ON c.code = b.code

该语句里,只显示code,stcok两列数据
但该语句只能显示A表的code字段,B表的就不能显示了,如何解决?
tqw708 2007-03-24
  • 打赏
  • 举报
回复
SELECT a.code,c.stock
FROM c
left join a ON c.code = a.code
left join b ON c.code = b.code

可以解决了,谢谢各位


但是还有没有更好的语句呢?
tqw708 2007-03-24
  • 打赏
  • 举报
回复
Select D.code, D.name, C.stock From(
Select * From A
Union
Select * From B) D
Inner Join C
On D.code = C.code

如果应用在Access里查询呢?

select a.code,b.name,c.stock from a,b,c where c.code=a.code or c.code=b.code
这条语句查不了
主要是想把A,B两个表的所有产品名称和库存量都查出来

有没有类似这样的查询语句?
peterddjj 2007-03-24
  • 打赏
  • 举报
回复
楼上正解
paoluo 2007-03-24
  • 打赏
  • 举报
回复
Select D.code, D.name, C.stock From(
Select * From A
Union
Select * From B) D
Inner Join C
On D.code = C.code
tqw708 2007-03-24
  • 打赏
  • 举报
回复
搞错啦,这才是正确的

比如有三个表:
1、A表(6万多条数据)
有code、name字段

2、B表(8万多条数据)
有code、name字段

3、C表(含有A和B两个表的Code的数据)
有code、stock字段

现想查询A和B两个表里的所有产品和库存量(即code、name、stock)

对于这个查询,怎样写SQL语句用于查询所有最快的??
paoluo 2007-03-24
  • 打赏
  • 举报
回复
這樣吧

Select D.code, D.name, C.stock From(
Select * From A
Union
Select * From B) D
Inner Join C
On D.code = C.code And D.name = C.name
zlp321002 2007-03-24
  • 打赏
  • 举报
回复
select code,name,count(1) from 表c a
where exists (select 1 from
(select code from 表A
union
select code from 表B )tb where tb.code=a.code)
group by a.code,a.name
云中客 2007-03-24
  • 打赏
  • 举报
回复
在关键列上建立索引是必然的
语句上好像技巧性不是很大

22,209

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧