SQL多表连接查询
Join关键字
join用于根据两个或者多个表之间的关系,查询所需结果数据,包括inner join,left join,right join,full join几种用法
例子中用到的表结构以及数据
表结构inner join
连接的表中至少有1个匹配行,才返回相应的结果。否则返回null
inner join当Person表中的PersonId存在于Address表中的PersonId,以上SQL语句才会返回结果,否则返回空。
例子中的表结构返回的结果为null。
left join
从左表中返回所有的行,即使右表中没有匹配的行
left join返回Person表中所有的行,即使Address表中没有相应的PersonId。
例子中表数据,返回结果为{"headers":["FirstName","LastName","City","State"],"values":[["Allen","Wang",null,null]]}
right join
从右表中返回所有的行,即使左表中没有匹配的行
right join返回Address表中所有的行,即使Person表中没有相应的PersonId。
例子中表数据,返回结果为{"headers":["FirstName","LastName","City","State"],"values":[[null,null,"new york city","new york"]]}
full join
从左表和右表中返回所有的行,即使左右表中没有匹配的行,也会返回在结果中
full join返回Person表和Address表总的所有行,即使两个表中没有匹配的行。
例子中表数据,返回的结果为{"headers":["FirstName","LastName","City","State"],"values":[["Allen","Wang",null,null],[null,null,"new york city","new york"]]}