gpt4 book ai didi

sql - 使用 '!=' 运算符加入

转载 作者:搜寻专家 更新时间:2023-10-30 22:12:48 26 4
gpt4 key购买 nike

JOININNER JOIN子句通常与 = 一起使用运算符,像这样:

SELECT * FROM table1 INNER JOIN table2 ON table1.id = table2.id

我注意到可以在 JOIN 上使用任何运算符条款。可以使用 !=, >=, <=,等等

我想知道什么实用程序必须在 JOIN 中使用另一个运算符条款。我认为使用即 >=, <=, >, <也许没有那么多实用性,但有人想象任何使用这些可能有用的例子吗? (我的意思是 PRIMARY KEY )

此外,谁能告诉我下一个查询是否返回“两个表的行,它们与另一个表没有任何关系”

SELECT * FROM table1 INNER JOIN table2 ON table1.id != table2.id

最佳答案

通过 < 加入的典型示例 会将所有成对的值都放在一个列中,其中成对的两个项目彼此不同。

有关示例,请参阅 http://www.sqlfiddle.com/#!2/4ed2a/3

create table numbers(val int);

insert into numbers values(1);
insert into numbers values(2);
insert into numbers values(3);
insert into numbers values(4);

和声明:

select m.val as first, n.val as second
from numbers m join numbers n on m.val < n.val

提供数字 1 到 4 的六种组合,其中两个数字不同:

1 2
1 3
1 4
2 3
2 4
3 4

使用 <= 的示例在连接中 将是一个运行总和:基于同一张表,如果我想查看记录的实际值,以及到当前行的所有记录的总和,我可以使用以下声明:

select m.val, sum(n.val) as running_sum
from numbers m join numbers n on n.val <= m.val
group by m.val
order by m.val

返回

1  1
2 3
3 6
4 10

在实际应用中,您通常会在表中至少有两列,例如 id 和 sales value,您希望显示它们的实际记录值和运行总计。但为了简单起见,我保留了相同的表格模型。

关于sql - 使用 '!=' 运算符加入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21319569/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com