在SQLite中还有其他任何方式来编写此语句:
SELECT tape_id,title
FROM tapes
WHERE tape_id NOT IN (SELECT tape_id
FROM tapeGenres)
并提高表现?
答案 0 :(得分:1)
考虑使用LEFT JOIN
SELECT tapes.tape_id, tapes.title
FROM tapes
LEFT JOIN tapeGenres ON tapes.tape_id = tapeGenres.tape_id;
WHERE tapeGenres.tape_id IS NULL
答案 1 :(得分:1)
另一种选择可能是使用NOT EXISTS,但使用适当的索引可以获得最大的性能提升。
如果尚未存在,您可以尝试添加
tapeGenres.tape_id
tapes (tape_id, title)
SQL声明
SELECT tapes.tape_id, tapes.title
FROM tapes t
WHERE NOT EXISTS (SELECT tape_id FROM tapeGenres WHERE tape_id = t.tape_id)