(+)mysql中外部连接的语法[重复]
Posted
技术标签:
【中文标题】(+)mysql中外部连接的语法[重复]【英文标题】:(+) syntax for outer joins in mysql [duplicate] 【发布时间】:2011-10-03 06:05:11 【问题描述】:可能的重复:Oracle “(+)” OperatorOracle (Old?) Joins - A tool/script for conversion?
多年来,我一直被使用 Oracle 宠坏了。现在我正在使用 mysql,在 MySQL 中找不到非 ansi 版本/速记版本的外连接。
在 oracle 中我可以做到这一点
select a.country acountry,
a.stateProvince aStateProvince,
b.countryName bcountry,
b.name bstateProvince
from User a,
stateprovince b
where a.country*=b.countryName **(+)**
and a.stateProvince*=b.name **(+)**
获取外部连接。 mysql可以做类似的事情吗?
【问题讨论】:
我很好奇。为什么要使用非 ansi 语法? Ansi 语法更容易理解,尤其是在复杂的查询中。 其实你有的不是外连接... @Bohemian:它是 Oracle 8 中的左外连接。 Oracle "(+)" Operator 的可能副本。另外:***.com/questions/2425960/… @ypercube,如果你必须使用它,它仍然是 Oracle 11g 中的左外连接;-) 【参考方案1】:比这更简单:
select a.country acountry,
a.stateProvince aStateProvince,
b.countryName bcountry,
b.name bstateProvince
from User a
left join
stateprovince b
on a.country = b.countryName
and a.stateProvince = b.name
没有。
【讨论】:
(+)
符号肯定更难理解。 SQL-92 连接表示法(明年就有 20 年了!)刚开始需要一点时间来适应,但一旦掌握就会好得多,这通常只需要几天的工作。以上是关于(+)mysql中外部连接的语法[重复]的主要内容,如果未能解决你的问题,请参考以下文章