MySQL STRAIGHT_JOIN 与 NATURAL JOIN(五)
来源:互联网 发布:淘宝充值网店代理加盟 编辑:程序博客网 时间:2024/06/12 21:57
MySQL STRAIGHT_JOIN
STRAIGHT_JOIN 是 MySQL 对标准 SQL 的扩展,用于在多表查询时指定表载入的顺序。在 JOIN 表连接中,同样可以指定表载入的顺序,本文只讲述 STRAIGHT_JOIN 在表连接 JOIN 中的应用。
MySQL STRAIGHT_JOIN 语法如下:
... FROM table1 STRAIGHT_JOIN table2 ON condition ...
STRAIGHT_JOIN 实际上与内连接 INNER JOIN 表现完全一致,不同的是使用了 STRAIGHT_JOIN 后,table1 会先于 table2 载入。
提示MySQL 在执行 INNER JOIN 的时候,会根据自己内部的优化规则来决定先载入 table1 还是 table2,如果您确认 MySQL 载入表的顺序并不是最优化的时候,就可以使用 STRAIGHT_JOIN 以替代 INNER JOIN。
MySQL STRAIGHT_JOIN 例子
SELECT article.aid,article.title,user.username FROM article STRAIGHT_JOIN user ON article.uid=user.uid
注意:该 SQL 仅仅是 STRAIGHT_JOIN 使用示例,并不表示其合理性。
如果有更多表进行连接,那么使用 STRAIGHT_JOIN 后,其载入顺序就遵循从左往右的规则。最后,STRAIGHT_JOIN 无法应用于 LEFT JOIN 或 RIGHT JOIN。
MySQL NATURAL JOIN
NATURAL JOIN 也叫自然连接,实际是属于 JOIN 的一种。
MySQL NATURAL JOIN 语法如下:
... FROM table1 NATURAL JOIN table2 ...
使用 NATURAL JOIN 时,MySQL 将表中具有相同名称的字段自动进行记录匹配,而这些同名字段类型可以不同。因此,NATURAL JOIN 不用指定匹配条件。
NATURAL JOIN 默认是同名字段完全匹配的 INNER JOIN,也可以使用 LEFT JOIN 或 RIGHT JOIN。一些例子如下:
SELECT article.aid,article.title,user.username FROM article NATURAL JOIN user// LEFTSELECT article.aid,article.title,user.username FROM article NATURAL LEFT JOIN user// RIGHTSELECT article.aid,article.title,user.username FROM article NATURAL RIGHT JOIN user
- MySQL STRAIGHT_JOIN 与 NATURAL JOIN(五)
- MySQL STRAIGHT_JOIN 与 NATURAL JOIN
- 【精华版】mysql的自然连接(natural join)与笛卡尔积
- ORA-00933 与 NATURAL JOIN
- mysql--straight_join
- 自然连接(NATURAL JOIN)
- 自然连接(NATURAL JOIN)
- MySQL Select-natural join 、多表连接
- NATURAL JOIN
- MySQL HINT:Straight_JOIN
- MySql-straight_join优化列
- 9.3.2 自然连接(NATURAL JOIN)
- SQL自然联接(NATURAL JOIN)
- MySQL的几种连接 join/inner join/cross join/逗号/left join/right join/natural join
- MySQL的几种连接 join/inner join/cross join/逗号/left join/right join/natural join
- 自然连接 natural join
- ocp-047 natural-join
- natural join 为何物
- 苹果IOS 软件内购破解(亲自实践)
- java集合类总结
- 斐波那契数列的各种求法
- 由中序序列和后序序列唯一确定一棵二叉树
- weblogic10.3版本标签问题
- MySQL STRAIGHT_JOIN 与 NATURAL JOIN(五)
- java继承---->类的复用
- printf()函数实现串口打印的配置方法
- 代理服务器不断提示输入账号密码:通过修改账户密码解决
- 安卓开发——跟随手指的小球
- exe与dll的自我更新
- Eclipse统计代码行数的最简单方法
- Neusoft机房改善计划 第二弹
- hibernate打印出来的 db2分页SQL