2011-02-14 3 views
3

Ma question de MySQL est tout à fait semblable à celui-ci, mais dans Teradata:Teradata équivalent de l'utilisation

SQL Server equivalent of MySQL's USING

Y at-il raccourci équivalent à cette requête?

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

Je ne pense pas. – Wei

+0

Habituellement, teradata ne vérifie pas les mêmes colonnes nommées dans les tables lors d'une jointure. Je ne pense pas que cela soit supporté. Vous pouvez utiliser la même condition ON pour vous conformer aux normes. –

Répondre

0

Si Teradata prend en charge Jointures naturelles, alors vous êtes fixés. En MySQL, NATURAL JOINs sont INNER JOINs avec une clause USING. En outre, vous pouvez ajouter des clauses LEFT | RIGHT et OUTER à la clause NATURAL pour spécifier plus précisément comment vous voulez que JOIN soit créé.

Vérifiez la documentation de Teradata, nous espérons qu'elle devrait la supporter.

1

Non, la chose la plus proche que vous pouvez faire avec une jointure naturelle:

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

Oui. C'est la syntaxe ANSI JOIN. Par exemple:

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

Pour une colonne plusieurs critères de jointure, procédez comme suit:

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 
; 

informations complètes détaillées, avec des exemples est disponible dans le chapitre 2 de Teradata® RDBMS SQL Reference - Volume 6 Data Manipulation Statements.

+0

Oups. Manqué le mot "raccourci" dans la question originale RE UTILISANT. Reformulée, la réponse est "NON". ;) –