SQL新手入门 详细总结笔记(三)| Joining Data in PostgreSQL

顾名思义,本节重点是使用SQL将两个或多个数据库表连接到一个表中,这是数据科学家的基本技能。内部联接(inner join),和左联接可能是两种最常见的联接。
本文内容整理自 Datacamp| Joining Data in PostgreSQL

Inner Join介绍

初始数据图(Initial data diagram)

我们可以看到id字段的匹配值用相同的颜色着色。id字段被称为键字段(key field),因为它可以用来将一个表引用到另一个表。left_table和right_table都有另一个名为val的字段。

内部连接图

内部联接只包括键在两个表中的记录。这里可以看到id字段只匹配值1和4。使用内部联接,我们在right_table中查找与left_table中键字段中的所有条目对应的匹配项。

所以这里只关注那些id字段匹配的记录, 而不属于内部连接的记录已经消失了。下面是由INNER JOIN得到的表,它给出了right_table的val字段,其中的记录只对应于id值为1或4的记录,分别被涂成了黄色和紫色。

用以实现这一过程的代码为:

SELECT left_table.id AS L_id
 		left_table.val AS L_val
 		right_table.val AS R_val
FROM left_table
INNER JOIN right_table
ON left_table.id = right_table.id

例子

这里,我们给出两个表, Prime Minister 表 和 President 表,如下:

Prime Minister

country continent prime_minister
Egypt Africa Sherif Ismail
Portugal Europe Antonio Costa
Vietnam Aisa Nguyen Xuan Phuc
Haiti North America Jack Guy Lafontant
India Asia Narendra Modi
Australia Oceania Malcolm Turnbull
Norway Europe Erna Solberg
Brunei Asia Hassanal Bolkiah
Oman Asia Qaboos bin Said al Said
Spain Europe Mariano Rajoy

President

country continent president
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值