设为首页 加入收藏

TOP

sql中外连接条件位置不同导致的查询结果不过
2014-11-24 03:02:11 来源: 作者: 【 】 浏览:2
Tags:sql 中外 连接 条件 位置 不同 导致 查询 结果 不过

今天研究了两个表中外连接条件位置不同,导致的查询结果不同,


[sql] view plaincopy
---DROP TABLE #t1,#t2

---创建表1
CREATE TABLE #t1(areaid NVARCHAR(20),housecode NVARCHAR(20),expressid INT)

INSERT INTO #t1(areaid, housecode, expressid )VALUES ('101','01', 1)
INSERT INTO #t1(areaid, housecode, expressid )VALUES ('101','02', 1)
INSERT INTO #t1(areaid, housecode, expressid )VALUES ('101','03', 1)
INSERT INTO #t1(areaid, housecode, expressid )VALUES ('101','04', 1)

--创建表2
CREATE TABLE #t2(areaid NVARCHAR(20),housecode NVARCHAR(20),expressid INT)

INSERT INTO #t2(areaid, housecode, expressid )VALUES ('101','01', 0)
INSERT INTO #t2(areaid, housecode, expressid )VALUES ('101','02', 1)
INSERT INTO #t2(areaid, housecode, expressid )VALUES ('101','03', 0)
INSERT INTO #t2(areaid, housecode, expressid )VALUES ('101','04', 1)

---#t2.expressid=0跟在where后面
SELECT #t1.*,#t2.* FROM #t1 LEFT JOIN #t2
ON #t1.areaid = #t2.areaid AND #t1.housecode = #t2.housecode
WHERE #t2.expressid=0

---#t2.expressid=0跟在on后面
SELECT #t1.*,#t2.* FROM #t1 LEFT JOIN #t2
ON #t1.areaid = #t2.areaid AND #t1.housecode = #t2.housecode AND #t2.expressid=0

两种查询结果对比

\

\

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇浅谈数据库的优化 下一篇sql server 2008 日志处理

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·Python中文网 - 人生 (2025-12-24 18:49:47)
·【整整648集】这绝对 (2025-12-24 18:49:44)
·Python超详细一条龙 (2025-12-24 18:49:42)
·【超详细】JDK 下载 (2025-12-24 18:19:32)
·Java_百度百科 (2025-12-24 18:19:29)