2016-01-29 14 views
0

我有兩個表格:GENRE和MOVIE。 GENRE包含genre_code和genre_desc,而MOVIE有tile,genre_code等等......我想列出所有不與標題相關的genre_desc。我需要使用NOT IN並避免存在。在訪問中使用NOT IN

我曾嘗試 -

SELECT GENRE.MOVIE_GENRE_DESC 
FROM GENRE INNER JOIN MOVIE ON MOVIE.MOVIE_GENRE_CODE = MOVIE.GENRE_CODE 
WHERE GENRE.MOVIE_GENRE_DESC Not In ([MOVIE].[GENRE_CODE]); 

我只是得到有職稱

+0

您可以添加示例數據和預期結果 –

回答

1

遞減的列表您可以使用此SQL與LEFT JOIN

SELECT Genre.genre_code, Genre.genre_desc 
FROM Genre LEFT JOIN Movie ON Genre.genre_code = Movie.genre_code 
WHERE Movie.id Is Null 

NOT IN

SELECT Genre.genre_code, Genre.genre_desc 
FROM Genre 
WHERE Genre.genre_code not in (SELECT Movie.genre_code FROM Movie) 

第一個變體應該工作得更快,NOT IN意味着不使用索引。