首先,join默认是inner join
我一开始以为这两个可以互换
比如
actor(actorid为主键)
actorid | name |
---|---|
1 | 小明 |
2 | 小亮 |
3 | 小红 |
movie(movieid,actorid都为主键)
movieid | actorid |
---|---|
1 | 1 |
1 | 2 |
2 | 3 |
那么把这两张表连接起来有两种方法
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 的效果