数据库的表连接

数据库中的表连接包括三种:内连接、外连接、交叉连接

t1(表):

id name
1 tome
2 jey
5 mark
6 merry

t2(表):

ides namees
2 qwer
3 asdf
5 zxcv
6 kenan

内连接(inner join)

查询两个表中相同的记录:

select id,namees from t1 INNER JOIN t2 on t1.id = t2.ides

结果:

id namees
2 qwer
5 zxcv
6 kenam

外连接

外连接又分左连接(左向外连接)、右连接(右向外连接)、完全外连接
左连接和左向外连接是一个东西,名字不同罢了。 右同

左连接left join(左向外连接left outer join)

左连接是将左表的数据全部查出,然后与右表进行匹配on关键字后面的内容,如果没有相关联的数据则为NULL

select id,namees from t1 LEFT OUTER JOIN t2 on t1.id = t2.ides   

结果

id namees
2 qwer
5 zxcv
6 kenam
1 NULL
右连接right join(右向外连接right outer join)

右连接是将右表数据全部查出,然后与左表进行匹配on关键字后面的内容,如果没有相关联的数据则为NULL

select id,namees from t1 RIGHT JOIN t2 on t1.id = t2.ides   

结果

id namees
2 qwer
NULL asdf
5 zxcv
6 kenam
完全外连接
select id,namees from t1 FULL JOIN t2 on t1.id = t2.ides   

结果

id namees
1 NULL
2 qwer
5 zxcv
6 kenam
NULL asdf

不过Mysql里没有完全外连接

交叉连接

交叉连接即笛卡尔积连接,是两张表的数据的集合。总数是n*n。

你可能感兴趣的:(数据库的表连接)