读书人

关于一个多表等值连接查询的有关问题

发布时间: 2012-02-16 21:30:36 作者: rapoo

关于一个多表等值连接查询的问题
这几天在思考一个问题,
select a, b, c……
from table1,table2
where table1.no=table2.no

select a, b, c……
from table1,table2
where table2.no=table1.no(就是互相交换table1,table2的位置)

请问这两个查询检索出来的结果记录一定一样吗???谁能证明一下,高分相送

[解决办法]
结果一样.因为where table2.no=table1.no这个条件表示两个表是INNER JOIN,所以结果一样.
[解决办法]
仔细想了想,这个有可能不一样吗

如果两个字段的类型一样,值相同,那么无论放前放后都是一样的

特殊情况 null 值也是一样的比较

所以说一定一样

可以选一些特殊字符试试
[解决办法]
Inner Join 逻辑运算符返回满足第一个(顶端)输入与第二个(底端)输入所组成的联接的每
一行,不存在先后之分,是返回两表之间的交集
[解决办法]
这种写法是内联合(INNER JOIN),结果是一样的,数据再怎么特殊,应该都是一样的。
[解决办法]
where table2.no=table1.no说明只能输出no相等的那些行,你换一下位置也是那个结果
就当它是交换律吧!
自己弄两个表试一下就知道了
实践出真知!
[解决办法]
经过用6个20000多条记录的表, 过三次测试,最后结果的确是相同的。
[解决办法]
inner join .是一样的

读书人网 >SQL Server

热点推荐