sql中外连接条件位置不同导致的查询结果不过
2012-02-23 15:17
459 查看
今天研究了两个表中外连接条件位置不同,导致的查询结果不同,
两种查询结果对比
---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内连接不同,SQL外连接返回到查询结果集合中的不仅包含符合连接条件的行,而且还包括左表(左外连接时)、右表(右外连接时)或两个边接表(全外连接)中的所有数据行,下面就为您详细介绍SQL外连接,
- Mysql 左连接查询条件位置不同造成数据查不出来
- SQL一次性查询一个字段不同条件下的统计结果
- Cannot resolve the collation conflict between "Chinese_PRC_CI_AS" and "SQL_L及由于排序规则不同导致查询结果为空的问题
- Cannot resolve the collation conflict between "Chinese_PRC_CI_AS" and "SQL_L及由于排序规则不同导致查询结果为空的问题
- SQL一次性查询一个字段不同条件下的统计结果
- left join 后的条件 位置不同,查询的结果不同
- 用一条SQL语句查询一张表得到不同条件的多个结果
- 数据库-使用查询到的不同字段的两条SQL的结果进行筛选查询
- SQL优化经典案例----外连接where条件位置优化
- 用SQL语言进行复杂查询:对各表中的数据进行不同条件的连接查询和嵌套查询: 1)查询每个学生及其选课情况; 2)查询每门课的间接先修课
- 注意Transact-SQL中Case函数的两种用法导致不同的结果集
- orcale 查询两个不同的条件的结果的差值(minus)
- 多条件组合查询,sql语句连接
- mysql 以查询结果作为查询条件sql写法
- 分享一些常见的SQL语句,包含单表查询、高级查询(连接查询、复合条件查询、嵌套查询等)。
- 反连接NOT EXISTS子查询中有or 谓词连接条件SQL优化一例
- js位置不同导致结果不同
- SQL优化经典案例----外连接where条件位置优化
- sql连接查询中,where关键字的位置