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
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 ))
不明白你的意思,详细点