Mysql里的联接查询

来源:互联网 发布:天津海量大数据 编辑:程序博客网 时间:2024/06/06 02:44

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进行过滤,添加部行。

0 0