Fork me on GitHub

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

开刷

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

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

LeetCode-175-组合两个表

题目的具体描述如下:

答案

  • 左联结(left join),联结结果保留左表的全部数据
  • 右联结(right join),联结结果保留右表的全部数据
  • 内联结(inner join),取两表的公有数据
1
2
3
4
5
6
7
8
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来实现

本文标题:leetcode-for-sql-组合两张表join

发布时间:2021年05月29日 - 00:05

原始链接:http://www.renpeter.cn/2021/05/29/leetcode-for-sql-%E7%BB%84%E5%90%88%E4%B8%A4%E5%BC%A0%E8%A1%A8join.html

许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。

Coffee or Tea