sql 语句中 select 语句问题

[复制链接]
查看11 | 回复3 | 2010-10-20 11:22:55 | 显示全部楼层 |阅读模式
现在有三张表 A ( A1,A2...) , B (A1,B2 ...),C(A1,B2...), 表中A1,A2为列名;现在我要从三张表中查数据:select*FROM A ,B,C where A.A1=B.A1and B.B2= C.B2
我不懂上面的select 语句对不对;还是应该写成下面这个:把表A 和表C也关联起来:A.A1=B.A1and B.B2= C.B2 and A.A1 = C.A1 ? 到底哪种正确;请高手赐教,谢谢。

回复

使用道具 举报

千问 | 2010-10-20 11:22:55 | 显示全部楼层
我说说吧这个设计如果对的话,就是说A表和B表的关系是 1个A数据可以对应多个B数据,A和C的关系是1个A的数据可以对应多个C的数据,而B和C的关系是1个B表的数据可以对应多个C表的数据。查询语句(一个SELECT)大多没有查大于1张表的,LZ想要的,是查C表的数据然后关联A表和B表的数据吧?可以写成SELECT C.*,B.*,A.* From C
Left Join A On C.A1 = A.A1
LEFT JOIN B ON C.B1 = B.B1
回复

使用道具 举报

千问 | 2010-10-20 11:22:55 | 显示全部楼层
没明白你到底想要查什么样的数据...如果你想查这三个表都存在的记录的话,那三个表都要关联起来的.你该选择后者select*FROM A ,B,C where A.A1=B.A1 and A.A1 = C.A1
回复

使用道具 举报

千问 | 2010-10-20 11:22:55 | 显示全部楼层
select * from A,B,C where A.A1=B.A1and A.A1=C.A1
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行