我如何完成此查询?

时间:2012-05-17 14:11:36

标签: mysql sql

select * from workers where id = uid and age = uage`   -- sql1
select uid,uage from users where uage>20`              -- sql2

我想使用sql2作为sql1的条件,即uid中使用的uagesql1来自sql2

3 个答案:

答案 0 :(得分:5)

您可以加入两个表:

SELECT w.*
FROM workers w
INNER JOIN users u
ON w.id = u.uid AND w.age = u.uage
WHERE u.uage > 20

答案 1 :(得分:0)

您可以使用临时表执行嵌套查询。第一个查询创建一个临时表,第二个查询。

答案 2 :(得分:-1)

您可以使用子查询 代码:

select * from workers where (id,age) =(select uid,uage from users where uage>20);