【问题标题】:Teradata equivalent of MySQL's USINGTeradata 相当于 MySQL 的 USING
【发布时间】:2011-06-26 21:22:38
【问题描述】:

我的问题与这个非常相似,但在 Teradata 中:

SQL Server equivalent of MySQL's USING

此查询是否有任何等效的快捷方式?

SELECT * 
  FROM t1 
  JOIN t2 
    ON (t1.column = t2.column)

【问题讨论】:

  • 在进行联接时,通常 teradata 不会检查表中的相同命名列。我不认为这是支持的。您可以使用相同的 ON 条件来符合标准。

标签: mysql join using teradata


【解决方案1】:

没有。使用自然连接可以做的最接近的事情是:

SELECT
FROM T1, T2
WHERE t1.column = t2.column;

【讨论】:

    【解决方案2】:

    是的。这是 ANSI JOIN 语法。例如:

    SELECT
       *
    FROM T1
       INNER JOIN T2 ON T1.column = T2.column
    ;
    

    对于多列连接条件,请执行以下操作:

    SELECT
        *
    FROM T1
       INNER JOIN T2 ON T2.column1 = T1.column1
          AND T2.column2 = T1.column2
       LEFT OUTER JOIN T3 ON T3.column1 = T2.column1 
    ;
    

    Teradata® RDBMS SQL Reference - Volume 6 Data Manipulation Statements 的第 2 章中提供了详细、全面的信息和示例。

    【讨论】:

    • 哎呀。在原始问题 RE USING 中遗漏了“快捷方式”一词。换个说法,答案是“否”。 ;)
    【解决方案3】:

    如果 Teradata 支持 NATURAL JOIN,那么您就大功告成了。在 MySQL 中,NATURAL JOIN 是带有 USING 子句的 INNER JOIN。此外,您可以在 NATURAL 子句中添加 LEFT|RIGHT 和 OUTER 子句,以进一步指定您希望如何进行 JOIN。

    查看 Teradata 的文档,希望它应该支持它。

    【讨论】:

      猜你喜欢
      • 2010-10-25
      • 2018-09-28
      • 2015-11-09
      • 2017-05-12
      • 2015-04-27
      • 2019-03-13
      • 1970-01-01
      • 2012-02-21
      • 2017-10-23
      相关资源
      最近更新 更多