我有下面的查询,并希望删除子查询,因为它会减慢查询速度。我尝试过LEFT JOIN,但它返回零结果。如何删除子查询?
SELECT DISTINCT releases.*
FROM releases
INNER JOIN artist_love ON releases.all_artists LIKE CONCAT('%',artist_love.artist,'%')
AND artist_love.user = 'Quickinho'
INNER JOIN label_love ON label_love.label = releases.label_no_country
AND label_love.user = 'Quickinho'
AND releases.id NOT IN
(
SELECT release_id
FROM charts_extended
WHERE artist = 'Quickinho'
)
ORDER BY releases.date DESC
LIMIT 0 , 102
答案 0 :(得分:2)
SELECT DISTINCT releases.*
FROM releases
INNER JOIN artist_love ON releases.all_artists LIKE CONCAT('%',artist_love.artist,'%')
AND artist_love.user = 'Quickinho'
INNER JOIN label_love ON label_love.label = releases.label_no_country
AND label_love.user = 'Quickinho'
left join charts_extended on charts_extended.release_id=label_love=releases.id and charts_extended.artist = 'Quickinho'
where charts_extended.release_id is null
ORDER BY releases.date DESC
LIMIT 0 , 102