比如我有一张表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 你需要的条件
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 );
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需要啥条件
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