SQL多表联合查询怎么写?

比如我有一张表1,里面列1的值是2,我想先查询出表1里面列1的值,然后通过列1里面的值(比如1)查询表2里面,ID为1的列

ID是TBALE1与TABLE2都有的字段,并且是相关联的字段
select * from table2 where id in (select id from table1 where 列1=2) where 你需要的条件
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-03-15
有几种方式可以实现你的这个需求。

1. 使用表 关联
SELECT * FROM 表2 JOIN 表1 ON ( 表2.ID = 表1.列1 );

2. 使用 IN
SELECT * FROM 表2 WHERE ID IN ( SELECT 列1 FROM 表1);

3.使用 EXISTS
SELECT * FROM 表2
WHERE EXISTS ( SELECT 1 FROM 表1 WHERE 表2.ID = 表1.列1 );
第2个回答  2013-03-15
select * from t2
left join t1 on t2.ID = t1.列1

where t1需要啥条件 and t2需要啥条件
第3个回答  2013-03-15
select * from 表2 where 某列 in (select 列1 from 表1) and id=1
相似回答