到目前为止,我已经将它与子选择一起使用,但一些研究告诉我使用子选择(尤其是在大表上)是不好的,因为它们的性能较低。
现在这就是我得到的:
SELECT COUNT( riddims.riddim ) AS rc,
(
SELECT COUNT( tunes.tune )
FROM tunes
WHERE tunes.tune NOT
IN (
''
)
) AS tc
FROM riddims
WHERE riddims.riddim NOT
IN (
''
)
这些表看起来像:
riddims:
riddim | genre | image
tunes:
riddim | artist | tune
我在玩'JOIN',但无法真正找出有效的查询。我需要的是类似于STACKOVERFLOW COUNT FROM MULTIPLE TABLES的东西,其性能比我上面的解决方案更高。
我的目标是执行显示以下输出的查询:
riddims | tunes | artist
100 | 400 | 2
- 哪里没有谜语('')
- WHERE 不调入('')
- WHERE 艺术家 = '某位艺术家'
这就是我开始的方式,但它显然走错了方向:
SELECT COUNT(riddims.riddim) AS rc, COUNT(tunes.tune) AS tc FROM riddims LEFT JOIN tunes ON riddims.riddim = tunes.riddim