mssql sqlserver left join 返回比左表行数多的记录说明


摘要:
下文详细举例说明sqlserver left join 的用法简介


  create table A(keyId int,infoA varchar(10))
  create table B(keyId int,infoB varchar(10))
  go
  insert into A(keyId,infoA)values(1,'A'),(2,'b');
  insert into B(keyId,infoB)values(1,'AA'),(1,'BB');
  
  select * from A left join B on A.keyId = B.keyId 
  ---------输出------------
  keyId,infoA,keyId,infoB 
  1 A 1 AA
  1 A 1 BB
  2 b null null
  ---表A和表B存在 表A中的keyId对应表B中的多个keyId
  由于表A中字段同表B中关联的字段依次进行笛卡尔集计算,返回A表所有记录乘以表B所有记录
   go
  drop table A
  drop table B