MySql数据库再学习——简述多表连接查询的自我理解
Posted zhang188660586
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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条记录)
以上是关于MySql数据库再学习——简述多表连接查询的自我理解的主要内容,如果未能解决你的问题,请参考以下文章
MySQL数据库学习笔记----MySQL多表查询之外键表连接子查询索引
数据库学习笔记6--MySQL多表查询之外键表连接子查询索引