inner join 与 natural join的区别

首先,join默认是inner join
我一开始以为这两个可以互换
比如
actor(actorid为主键)

actoridname
1小明
2小亮
3小红

movie(movieid,actorid都为主键)

movieidactorid
11
12
23

那么把这两张表连接起来有两种方法

INNER JOIN

SELECT * FROM actor JOIN movie ON actor.actorid = movie.actorid;

在这里插入图片描述

NATURAL JOIN

SELECT * FROM actor NATURAL JOIN movie;

在这里插入图片描述
很明显,natural会把重名的列合并起来。但是限于natural join只能合并同名列,所以个人感觉inner join应用可能更广泛一些
1、当table actor的列不是actorid而是id时,一样可以SELECT * FROM actor JOIN movie ON id = actorid;
2、可以用SELECT actorid, name, movieid达到natural join 的效果

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值