Mysql
 sql >> Database >  >> RDS >> Mysql

Analogo di OUTER APPLY in altri RDBMS (non SQL Server)

In Oracle un join laterale è un join cartesiano con un set di risultati che dipende dai valori della riga. Nessuna nuova parola chiave è stata ancora introdotta (SQLFiddle ):

SQL> CREATE OR REPLACE TYPE number_nt AS TABLE OF NUMBER;
  2  /

Type created
SQL> SELECT t.id, t.dt, u.column_value amount
  2    FROM Transactions t
  3   CROSS JOIN TABLE(number_nt(t.amount, t.amount2)) u;

        ID DT                AMOUNT
---------- ----------- ------------
         1 05/06/2013           100
         1 05/06/2013  
         2 05/06/2013            25
         2 05/06/2013            75

Oracle sembra utilizzare il LATERAL parola chiave internamente però.