与“ IS NULL”一起使用左联接

怜悯

我遇到此查询以获得具有最大值的行。你能解释一下这是如何工作的吗

SELECT s1.article, s1.dealer, s1.price, s2.article, s2.dealer, s2.price
FROM shop s1
LEFT JOIN shop s2 ON s1.price < s2.price
WHERE s2.article IS NULL;

倾倒 :

CREATE TABLE `shop` (
`article` int(4) unsigned zerofill NOT NULL DEFAULT '0000',
`dealer` char(20) NOT NULL DEFAULT '',
`price` double(16,2) NOT NULL DEFAULT '0.00',
PRIMARY KEY (`article`,`dealer`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

INSERT INTO `shop` VALUES 
(0001,'A',3.45), (0001,'B',3.99), 
(0002,'A',10.99),(0003,'B',1.45),
(0003,'C',1.69),(0003,'D',1.25),
(0004,'D',19.95);
乔治·贝索斯(Giorgos Betsos)

该查询基于谓词执行自我连接:

s1.price < s2.price

因此,表的每个记录都将与价格更高的任何记录连接。

WHERE子句的谓词

WHERE s2.article IS NULL

true没有这样的记录存在的时候因此查询返回具有最大价格的记录。

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

一起加入两个左联接

来自分类Dev

MYSQL-组在一起之前左联接的最高值

来自分类Dev

将SQL聚合函数与多个联接一起使用

来自分类Dev

将SUM函数与SQL联接一起使用

来自分类Dev

将聚合函数与内部联接一起使用

来自分类Dev

将CASE与表联接一起使用

来自分类Dev

在SQL Server中将Count()与自联接一起使用

来自分类Dev

Hibernate在左联接上生成一个“ on ... and null = null”

来自分类Dev

Hibernate在左联接上生成一个“ on ... and null = null”

来自分类Dev

使用PDO左联接

来自分类Dev

使用左联接,其中update语句中的null

来自分类Dev

左联接保留NULL记录

来自分类Dev

左联接不会返回Null?

来自分类Dev

使唯一键与NULL值一起使用?

来自分类Dev

一起使用IF AND OR。

来自分类Dev

一起使用IF AND OR。

来自分类Dev

我如何使用联接以及在哪里一起使用-Laravel?

来自分类Dev

ErrorVariable无法与null或空agrument一起使用

来自分类Dev

检查不为null不能与localStorage一起使用

来自分类Dev

隐式联接列如何与Android联系人数据一起使用?

来自分类Dev

将游标适配器与多个表游标一起使用(内部联接)

来自分类Dev

如何在Hive查询中一起使用联接和平均值

来自分类Dev

Laravel 4.2雄辩地将list()与联接查询一起使用

来自分类Dev

如何将BigQuery的联合与内部联接一起使用?

来自分类Dev

使用MYSQL查询将2个表与if条件联接在一起

来自分类Dev

当与内部联接一起使用时,stuff funct返回重复记录

来自分类Dev

是否可以在Dynamics CRM API中将联接与OData一起使用?

来自分类Dev

在icCube中将桥表与多列联接一起使用

来自分类Dev

如何通过联接表将这个Linq查询与多个参数一起使用

Related 相关文章

热门标签

归档