您的位置:首页 > 数据库

力扣数据库题目:组合两个表(数据库简单算法题)

2020-02-12 03:43 148 查看

表1: Person

列名 类型
PersonId int
FirstName varchar
LastName varchar

PersonId 是上表主键

表2: Address

列名 类型
AddressId int
PersonId int
City varchar
State varchar

AddressId 是上表主键

编写一个 SQL 查询,满足条件:无论 person 是否有地址信息,都需要基于上述两表提供 person 的以下信息:

FirstName, LastName, City, State

题解(MySQL):

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

执行结果:


考点:left join和right join区别

总结:

左连接where只影向右表,右连接where只影响左表。

Left Join

select * from tbl1 Left Join tbl2 where tbl1.ID = tbl2.ID

左连接后的检索结果是显示tbl1的所有数据和tbl2中满足where 条件的数据。

简言之 Left Join影响到的是右边的表

Right Join

select * from tbl1 Right Join tbl2 where tbl1.ID = tbl2.ID

检索结果是tbl2的所有数据和tbl1中满足where 条件的数据。

简言之 Right Join影响到的是左边的表。

  • 点赞
  • 收藏
  • 分享
  • 文章举报
小虎工程师 发布了18 篇原创文章 · 获赞 7 · 访问量 4704 私信 关注
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐