select * from workers where id = uid and age = uage` -- sql1
select uid,uage from users where uage>20` -- sql2
sql2
の条件として使用したいsql1
、つまりuid
でuage
使用されるsql1
は から来ていsql2
ます。
両方のテーブルを結合できます。
SELECT w.*
FROM workers w
INNER JOIN users u
ON w.id = u.uid AND w.age = u.uage
WHERE u.uage > 20
一時テーブルを使用してネストされたクエリを実行できます。最初のクエリで一時テーブルが作成され、2 番目のクエリでクエリが実行されます。
サブクエリを使用できます。
コード:
select * from workers where (id,age) =(select uid,uage from users where uage>20);