Mysql里的联接查询
2014-01-13 18:44
351 查看
MYSQL支持三种联接查询:
CROSS JOIN(交叉联接)
INNER JOIN(内联接)
OUTER JOIN(外联接)
“对于三种联接查询,要注意逻辑查询处理的阶段。每个联接查询都只发生在两个表之间,即使FROM子句中包含多个表也是如此。每次联接操作也只进行逻辑操作的前三个小聚,每次产生一个虚拟表,这个虚拟表再依次与FROM子句的下一个表进行联接,重复上述步骤,直到FROM后的表都被处理完。“
CROSS JOIN:只应用处理阶段里的每一个阶段,即产生笛卡儿积。它的一个用处是可快速生成重复的测试数据,另外可作为返回结果集的行号。
INNER JOIN :(1) INNER可省。
(2)应用处理阶段的前两个步骤:产生笛卡儿积,按照ON进行过滤,不会添加部行,因此过滤条件在ON子句和WHERE子句中是没有任何区别 的:....JOIN TABLE2 ON CONDITION1 WHERE CONDITION2与.....JOIN TABLE2 ON CONDITION1
AND CONDITION2结果一样。这是它与OUTER JOIN的最大差别。
(3)如果INNER JOIN 后不跟ON与CROSS JOIN 无异
OUTER JOIN :应用逻辑查询的三个步骤:产生笛卡儿积,按照ON进行过滤,添加部行。
CROSS JOIN(交叉联接)
INNER JOIN(内联接)
OUTER JOIN(外联接)
“对于三种联接查询,要注意逻辑查询处理的阶段。每个联接查询都只发生在两个表之间,即使FROM子句中包含多个表也是如此。每次联接操作也只进行逻辑操作的前三个小聚,每次产生一个虚拟表,这个虚拟表再依次与FROM子句的下一个表进行联接,重复上述步骤,直到FROM后的表都被处理完。“
CROSS JOIN:只应用处理阶段里的每一个阶段,即产生笛卡儿积。它的一个用处是可快速生成重复的测试数据,另外可作为返回结果集的行号。
INNER JOIN :(1) INNER可省。
(2)应用处理阶段的前两个步骤:产生笛卡儿积,按照ON进行过滤,不会添加部行,因此过滤条件在ON子句和WHERE子句中是没有任何区别 的:....JOIN TABLE2 ON CONDITION1 WHERE CONDITION2与.....JOIN TABLE2 ON CONDITION1
AND CONDITION2结果一样。这是它与OUTER JOIN的最大差别。
(3)如果INNER JOIN 后不跟ON与CROSS JOIN 无异
OUTER JOIN :应用逻辑查询的三个步骤:产生笛卡儿积,按照ON进行过滤,添加部行。
相关文章推荐
- Mysql联接查询-JOIN-从多个关联的表中查询数据
- Mysql联接查询
- mysql联接和子查询的使用
- mysql left联接查询实现多表查询
- mysql的查询、子查询及连接查询 , 左连接,右联接,内连接
- 几种MySQL中的联接查询操作方法总结
- 基于Hibernate联接MYSQL实现员工信息查询
- 几种MySQL中的联接查询操作方法总结
- MySQL里面的子查询
- MySQL 列子查询及 IN、ANY、SOME 和 ALL 操作符的使用
- MySQL错误2014原因无法执行查询--P…
- 合理使用MySQL索引建立高质量查询语句
- sql 练习系列:数据查询 (mysql导入数据)
- linux上开启和分析mysql慢查询日志
- 【数据库学习笔记】MySQL_02_查询,约束
- mysql查询随机几条数据(速度快)
- mysql查询重复记录的方法
- mysql慢查询优化之explain的各列含义
- Mysql使用索引实现查询优化
- 高性能mysql笔记(八)查询执行基础