DEV_희쨔응

[ORACLE, VERTICA] SQL 비교 본문

카테고리 없음

[ORACLE, VERTICA] SQL 비교

희쨔응 2023. 3. 14. 16:21

< JOIN >

  • ORACLE

SELECT *

    FROM TABLE_1 A, TABLE_2 B

 WHERE A.COL1 = B.COL1(+)

       AND A.COL2 = B.COL2(+)

 

  • VERTICA

   SELECT *

       FROM TABLE_1 A

LEFT JOIN TABLE_2 B

             ON A.COL1 = B.COL2

           AND A.COL2 = B.COL2

 

 

< SubQuery >

- Vertica doesn't support more than 1 level of correlated sub-queries.

- You should convert them into JOINs.

- Vertica SubQuery 제약에 대한 공식문서 내용 : https://www.vertica.com/docs/9.2.x/HTML/Content/Authoring/AnalyzingData/Queries/Subqueries/SubqueryRestrictions.htm

 

Subquery Restrictions

 

www.vertica.com

 

  • ORACLE

SELECT

                 (SELECT COL1 FROM TABLE1 X

                   WHERE B.COL2 = X.COL2

                         AND (SELECT YMD FROM TABLE2 BB

                                   WHERE BB.COL3 = (SELECT COL3 FROM TABLE3 AA

                                                                       WHERE B.PK1 = AA.PK1

                                                                             AND B.PK2 = AA.PK2)

                                  ) BETWEEN X.YMD1 AND X.YMD2

                  ) AS SUBQUERY

FROM TABEL4 C 

INNER JOIN TABLE5 A ON...

INNER JOIN TABLE6 B ON...

 

  • VERTICA

SELECT

                 (SELECT COL1 FROM TABLE1 X

                   WHERE B.COL2 = X.COL2

                         AND BB.YMD BETWEEN X.YMD1 AND X.YMD2

                  ) AS SUBQUERY

FROM TABEL4 C 

INNER JOIN TABLE5 A ON...

INNER JOIN TABLE6 B ON...

INNER JOIN TABLE3 AA ON...

INNER JOIN TABLE2 BB ON...

Comments