我有两个表,images
和articleImages
。在这两个表中都是i_id列,现在我需要MySQL回答返回图像行表,这些表也存在于articleImages
表中。
我尝试了类似
的内容SELECT DISTINCT name FROM images,ArticleImages WHERE images.i_id!=ArticleImages.i_id
但它没有返回,没有DISTINCT
元素返回总废话
答案 0 :(得分:0)
尝试使用
NOT IN (...)
SELECT name
FROM images
WHERE images.i_id NOT IN (SELECT i_id FROM ArticleImages)
答案 1 :(得分:0)
基本上,您可以使用LEFT JOIN
加入两个表。 LEFT JOIN
执行的操作是返回左侧表中的所有记录images
是否在右侧具有匹配的记录表格为ArticleImages
。所有无匹配的记录都会在表ArticleImages
的列上显示 NULL 值,并且此记录是您要过滤的记录。
SELECT a.*
FROM images a
LEFT JOIN ArticleImages b
ON a.i_id = b.i_id
WHERE b.i_id IS NULL
要进一步了解联接,请访问以下链接: