(+)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中外部连接的语法[重复]的主要内容,如果未能解决你的问题,请参考以下文章

Python,MySql ON 重复键语法错误

在mysql服务器中选择查询语法问题[重复]

laravel 使用多个数据库,查询语法 [重复]

Angular 2指令语法[重复]

MySQL UNION 操作符:语法及案例剖析

关于我的MySQL