MySql数据库再学习——简述多表连接查询的自我理解

一:序

这几天在学习数据库部分,因为在学校听课也是比较迷糊,经过学习之后感觉现在思路比较清楚,对于多表连接查询操作有了一个新的认识。

二:假设

假设现在有两个表 :A ,B.

三:两表之间的连接方式

两个表的连接方式分为,内,外,交叉三种。

内连接的查询方式又分为隐式和显式两种。

外连接的查询方式又分为左,右两种。

交叉是将两个表的记录做乘积,因为得到的记录很大程度上没有直接联系,所以交叉连接查询基本没什么意义。

四:内连接

内连接的关键词:inner join...(inner可以省略)

隐式内连接:select(要查询的字段)from A a,B b where a.A_id=b.B_id;

显式内连接:select(要查询的字段)from A  join B  on(注意这里必须用on不能用where)A_id=B_id;

总结:内连接查询 查询的是两个表之间的交集。

五:外连接

外连接的关键词:outer join.....on (outer可以省略)

左外连接: select (要查询的字段) from A left join B on (...);

右外连接: select (要查询的字段) from A right join B on(...);

总结:左外连接查询的是 左表(语句中为A)的全部 和两表的交集部分。相对应的右外连接性质与左外连接相同。

六: 交叉连接

语句 :select * from A,B;(如果A表有3条记录,B有2条记录,查询的结果符合笛卡尔积,有6条记录)

 

posted @ 2019-07-18 19:05  我叫张小凡  阅读(609)  评论(0编辑  收藏  举报