MySQL STRAIGHT_JOIN 与 NATURAL JOIN
来源:互联网 发布:js强制转换成数字 编辑:程序博客网 时间:2024/06/12 22:18
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
// LEFT
SELECT article.aid,article.title,user.username FROM article NATURAL LEFT JOIN user
// RIGHT
SELECT 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
- MySQL Select-natural join 、多表连接
- NATURAL JOIN
- MySQL HINT:Straight_JOIN
- MySql-straight_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 为何物
- oracle-using/natural join
- oracle natural using join 区别
- Oracle natural join(自然连接)
- Oracle natural join(自然连接)
- HIBERNATE核心开发接口介绍
- java 操作注册表
- 在Oracle和SQL Server查询表名、列名、列数量
- 13周实验报告 任务4
- gdb调试命令----小话c语言(15)
- MySQL STRAIGHT_JOIN 与 NATURAL JOIN
- extern数组与extern指针
- 学习Javascript
- 第十三周实验报告2.0
- Flex Component Life Cycle
- 第十三周 任务二
- 第十三周实验报告2.1
- 第十四周实验报告(1)
- cursor遍历