sql 多张表查询语句

来源:百度知道 编辑:UC知道 时间:2024/06/06 10:33:01
有3张表:
A: id url B: id singer C: id singer
1 aaaa 1 aa 7 aa
2 bbbb 2 bb 9 bb
3 cccc 3 cc 5 ff
4 dddd 6 ff 4 gg
5 eeee
6 ffff
查询B表的ID在A表中存在,B表的singer等于C表的singer
查询结果B表和C表满足条件的都显示出来
我要得到的表是
ID SINGER
1 AA
7 AA
2 BB
9 BB
5 FF
6 FF
把B表和C表满足的都列出来

select B.* ,C.* from A ,B,C where a.id=b.id and b.singer=c.singer

select *
from B
where id in (select id from A)
union all
select *
from C
where singer in(select singer from B where id in (select id from A) )

select B.*,C.*
from A,B,C
where A.id=B.id and B.singer=C.singer;
改了下 应该没问题了

select B.id,B.singer,C.id
from A a,B b,C c
where where a.id=b.id and b.singer=c.singer

select a.id,b.singer,c.singer as singer2
from (b inner join a on a.id=b.id) inner join c on c.singer=b.singer

select * from b,c
where b.singer=c.singer
and b.singer in(select url from a)