您的位置:首页 > 数据库 > MySQL

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进行过滤,添加部行。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: