我一直在努力了解它是如何工作的,到目前为止,我找到了一种解决方法,但它并不像我希望的那样好。
假设我从查询中得到一些结果集:
SELECT id FROM photos WHERE some clause
我想把结果集放在像这样的where子句中:
SELECT * FROM tags WHERE photo_id IN ( array I just received )
如何使用嵌套查询执行此操作?我试着查找子查询无济于事。加入不是我的强项,但我担心在这种情况下我会需要它们。
答案 0 :(得分:2)
SELECT * FROM tags WHERE photo_id IN (SELECT id FROM photos WHERE some clause)
但这也应该有效:
SELECT tags.* FROM tags INNER JOIN photos ON (tags.photo_id=photos.id AND some clause)