SQL 连接三个表

来源:百度知道 编辑:UC知道 时间:2024/05/21 01:55:48
a表
aid
text

b表
bid
cid
aid

c表
cid
woyaode
我要返回a表里的所有信息和c表里的信息
a.aid=b.aid取出b表中的cid 在到c.cid表中取出c.woyaode
a表(里有两个列)
aid
text

b表(里有三个列)
bid
cid
aid

c表(里有两个列)
cid
woyaode

现在我要返回a表里的所有信息和c表里的信息
表结构如下:
a.aid = b.aid 取出b表中的cid 在到c表中取出对应的c.woyaode

首先分析下你的表结构
a 表存储的ID,text两字段,
C 表存储的ID,woyaode两个字段。
两张表之间没有关联,所有的关系存储在B表中
让我们先找出a,b两张表之间的关联
select aid from b where aid=(select aid from a) 可以知道存储在表B中有关a表的 信息
检索B和C之间的关系如上
最后就可以通过等值连接inner join来进行
select a.aid,a.text,c.woyaode from a
inner join b on a.aid = b.aid
inner join c on b.cid = c.cid

select a.aid, a.text, c.woyaode
from a
left outer join b
on a.aid = b.aid
left outer join c
on b.cid = c.cid

select a.aid,a.text,c.cid,c.woyaode from a
inner join b on a.aid = b.aid
inner join c on b.cid = c.cid

select woyaode for c
where cid like (select cid from b where aid like (select aid from a ))

不明白你的意思,详细点