SQL Join 认识误区
最近在学SQL Server数据库程序,以前也学过一些内容,但是没有提高自己的应用水平,停留在理论知识层次,而且有很多概念都不懂。
首先看看下面的的SQL 语句
SELECT * FROM A INNER JOIN B ON A.Id = B.ParentId
问一个问题,返回的结果数量是大概是多少呢
A。大于A的行数 B.等于A的行数 C。小于A的行数 D。小于或者等于A的行数
可能按照Join的概念来说,囫囵吞枣说是符合A的记录。那么可能的选择就会是D。 最近在实际中应用的时候发现,这个是自己的认识误区。
实际上A,B,C,D 都有可能是正确的结果。比如说A与B的关系是1对多的关系,那么返回的结果记录行数就会大于A的行数!
导致这种认识误区的是自己没有实践过,没有感性认识。所以才会导致上面的答案只选D的情况。