leetcode-for-sql-组合两张表join

2023-08-23 15:22:54 浏览数 (1)

开刷

最近要准备开始刷LeetCode上关于SQL部分的练习题了。相信很多人是知道LeetCode的,毕竟太多互联网公司是从上面抽题目来考察面试者,尤其是算法相关的题目,它就像是一个庞大的题库。而作为打工人的我们,能做的就是多加练习,提升的能力

LeetCode上面除了算法相关,也有很多SQL的题,评论区的作者们提供了很多优秀的方法和思路;希望自己在本次LeetCode-SQL的连载之后,不管是将来的面试或平时写SQL的时候能够更加得心应手。将自己的练习公布出来,错误的地方希望大家批评指正提供更加优秀的思路,说不定对大家会有所帮助。

LeetCode-175-组合两个表

题目的具体描述如下:

答案

  • 左联结(left join),联结结果保留左表的全部数据
  • 右联结(right join),联结结果保留右表的全部数据
  • 内联结(inner join),取两表的公有数据
代码语言:javascript复制
select
	p.FirstName
	,p.LastName
	,a.City
	,a.State
from Person as p
left join Address as a
on p.PersonId = a.PersonId

多种连接理解

下面是自己整理的一份关于SQL几种不同连接方式的图形,从连接的语法和结果上进行了可视化展示,方便读者理解不同连接的内在含义,作为一份学习备忘录。

  • left join:只取左表中的内容
  • right join:只取右表中的内容
  • inner join:取两个表相同的部分

MySQL中本身是不支持全连接full (outer) join的,可以通过关键词union来实现

0 人点赞