mysql 2个表的数据库查询

kr98yfug  于 2023-05-21  发布在  Mysql
关注(0)|答案(4)|浏览(173)

我有两个表(tag_details和movie_tags),我想查询那些不属于movie_tags表的tag_details_id(tag_details)。我如何才能轻松完成这件事?

oalqel3c

oalqel3c1#

学习如何使用outer joins

Select * 
from tag_Details TD
LEFT JOIN movie_tags MT
  on TD.Tag_Details_ID = MT.Tag_Details_ID
WHERE MT.Tag_Details_Id is null

或者如果你改变了表的顺序就作为右连接。

Select * 
from movie_tags MT
RIGHT JOIN tag_Details TD
  on TD.Tag_Details_ID = MT.Tag_Details_ID
WHERE MT.Tag_Details_Id is null

这意味着返回movie标签中的所有tag_details和相关记录,但仅当movie标签为NULL时(这是由于缺少数据而导致的,因此是您想要的)

bfrts1fy

bfrts1fy2#

您可以通过子查询轻松地完成此操作。

Select * from tag_details 
   where tag_details_id not in 
                        (Select tag_details_id from movie_tags)
f1tvaqid

f1tvaqid3#

您必须选择不在movie_tags表中的所有tag_details_Id
这可以通过如下子查询来实现:

select * 
from tag_details 
where tag_details_Id not in (select tag_details_Id from movie_tags);
xnifntxz

xnifntxz4#

试试这个:

SELECT tag_details_id
FROM tag_details
MINUS
SELECT tag_details_id
FROM movie_tags;

相关问题