2个表的数据库查询

时间:2016-01-04 20:51:19

标签: mysql sql subquery

enter image description here

我有2个表(tag_details和movie_tags),我想查询那些不属于movie_tags表的tag_details_id(tag_details)。我怎样才能轻松完成这项工作?

4 个答案:

答案 0 :(得分:2)

了解如何使用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

这表示返回电影标签中的所有tag_details和相关记录,但前提是电影标签为NULL(由于缺少数据,因此您所追求的是什么)

答案 1 :(得分:1)

您可以使用子查询轻松完成此操作。

public int getItemViewType(int position) {
        int type;
        if (condition) {
            type = 1;
        } else {
            type = 2;
        }
        return type;
    }

答案 2 :(得分:1)

您必须选择tag_details_Id表中没有的所有movie_tags。这可以使用子查询来实现,如下所示:

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

答案 3 :(得分:0)

试试这个:

SELECT tag_details_id
FROM tag_details
MINUS
SELECT tag_details_id
FROM movie_tags;