sql 中多表查询-leetcode : Combine Two Tables

Posted 哈哈哈

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sql 中多表查询-leetcode : Combine Two Tables相关的知识,希望对你有一定的参考价值。

因为对数据库的内容早都忘得差不多了,所以我的第一感觉是:

 

select Person.FirstName, Person.LastName, Address.City from Person, Address where Person.PersonId=Address.PersonId

结果出错了:

因为至少这个人是存在的,只是没有她的地址,你不至于搜不到吧, 但是我这种写法是引用两个表,从两个表中获取数据,就是找两者相同的情况下的结果.

使用join 可以连接两个表:

join: 如果表中有一个匹配,则返回行,

select Person.FirstName, person.LastName,Address.City, Address.State from Person join Address on Person.PersonId=Address.PersonId

  (因为连个表中属性不同命,也可以不在属性前加 表名)

 

left join: 即使右表中没有匹配,也从左表中返回所有的行

符合要求

right join: 即使左表中没有匹配,也从右表中返回所有的行

 

 

以上是关于sql 中多表查询-leetcode : Combine Two Tables的主要内容,如果未能解决你的问题,请参考以下文章

Yii2中多表关联查询(joinjoinwith) with是不执行sql的

hive中多表full join主键重复问题

Django中多表查询思路

SQL Server中多表连接时驱动顺序对性能的影响

MySQL数据库中多表联合查询

SQL Server中多表连接时驱动顺序对性能的影响