获取最新的SQL查询澄清
我从该线程中窃取了以下查询:获取最新的SQL查询澄清,sql,Sql,我从该线程中窃取了以下查询: 选择m1* 从消息m1向左加入消息m2 ON(m1.name=m2.name和m1.id
选择m1*
从消息m1向左加入消息m2
ON(m1.name=m2.name和m1.id
有人能帮我理解一下和m1.id
是如何返回正确的结果的/我认为应该是和m1.id>m2.id
,它们不会返回正确的结果
我有点想知道,从技术上讲,id应该更大。考虑到m2.id为NULL的
,您正在寻找不加入的实例
考虑以下id对:
m1_id m2_id
1 1
2 2
3 3
使用m1.id
而不使用您的,其中
标准可以让您:
m1_id m2_id
1 2
1 3
2 3
3 NULL
- 1不小于1,但小于2和3,因此1将连接到多个记录
- 2不小于1或2,但小于3,因此2与1合并
记录
- 3不小于任何记录,因此它不会加入。信息技术
返回
NULL
,这是您在应用程序中查找的标准
其中
子句
m1_id m2_id
1 2
1 3
2 3
3 NULL