mysql-为什么在WHERE子句上使用此子查询?

唱哦

我的电影桌在这里,

title        year length incolor studioName producerC#

Avengers        2012    142 1   Marvel      12345
First Avenger   2011    123 1   Marvel      38664 
Justice League  2017    121 1   DC          11223 
Man of Steel    1925    142 1   DC          38664 
Man of Steel    2013    142 1   DC          11223 
Ted             2012    106 1   Universal   87654 
Toy Story 3     2010    102 1   Pixar       23456

我想找到“已用于两部或更多电影的标题”。

答案是“钢铁侠”,因为这部电影的年份是1925年,2013年,所以使用了两次。

我的查询在这里

select distinct movie.title 
from movie, (select * from movie) as temp
where temp.title = movie.title 
    AND (temp.year != movie.year OR temp.length != movie.length OR temp.studioName != movie.studioName);

方面,结果就是Man of Steel我想要的。

但我不了解电影的时间差异。

两个表的值完全相同,因此temp.title = movie.titleselect title from movie;

并且temp.year != movie.year应为null,因为temp.year != movie.yearselect year from movie where movie.year != movie.year

但是结果是“钢铁侠”,我无法理解我错过了什么。

阿扬·巴拉库玛兰(Ajan Balakumaran)

在您的查询中,“温度”和“电影”都是完全相同的表SELF JOIN,换句话说,联接的目的是匹配两个电影标题,而另一个特征中的至少一个不同,可以是“年”,“长度”或“工作室名称”。这就是为什么它WHEREOR条件中以不相等的符号在语句中给出的原因

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

为什么在MySQL中使用子查询别名在“ where子句”中获取“未知”列?

使用where子句的MySQL子查询

MySQL优化使用WHERE子句的子查询?

mysql 子查询 COUNT 与 WHERE 子句混淆

WHERE 子句上的 MySQL 查询优化

使用WHERE子句的MySQL LEFT JOIN查询

使用别名到where子句查询mysql

Mysql 查询 - 带有子查询结果的 where 子句

为什么“” =“利用此MySQL查询?

为什么不保存此MySQL查询

为什么 MySQL 查询(/存储过程)中的 WHERE 子句返回不需要的数据?

MySQL:当引用外部表的列时,在 JOIN 的子查询中使用 WHERE 子句会出错

我在子查询 MySQL 的 Where 子句中使用 NOT IN 和 IF 是否正确?

INNER JOIN与mysql中的max和where子句的子查询

返回逗号分隔值的 where 子句中的 Mysql 子查询

为什么此查询忽略WHERE子句?

与子句分组在同一表上的MYSQL子查询...

MySQL何时将对使用order by子句的查询应用索引条件推送?为什么?

为什么使用MySQL“ WHERE”子句逼近:即使不满足条件也检索值

为什么在使用WHERE子句时,MySQL的LEFT JOIN返回“ NULL”记录?

为什么MySql更新会忽略where子句?

如何在 MySQL 的 FROM 子句中使用子查询?

mysql使用in子句将值传递给子查询

使用node.js中的where子句选择查询-MySQL?

如何在mysql json表中使用where子句查询

使用where in子句的mysql查询中的golang切片

如何使用JOIN和BETWEEN where子句加快MYSQL查询?

使用where子句时,mysql select查询非常慢

在MySQL的where子句中使用多个表更新查询