SELECT A.PJ_ORDER, D.MENU_ID, DECODE(D.MENU_ID, 'PJ000', PJ_NM, MENU_NAME) AS MENU_NAME, PJ_NM, PJ_CD, MENU_LEVEL, B.ROLE_ID, A.PJ_CREAT_TP, B.PJ_ROLE, PROGRAM_ID
FROM ( /*PM*/SELECT /*+ ORDERED USE_NL ( B A ) */
1 AS PJ_ORDER, 'PM' AS PJ_ROLE, 0 AS MENU_LEVEL, A.PJ_CD, A.PJ_NM,
DECODE (A.PJ_CREAT_TP,
'2A', 'SI',
'7S', 'SM',
'3N', '사후',
'관리'
) AS PJ_CREAT_TP_NM,
A.PJ_CREAT_TP
FROM TPS01M B, TPD01M A在这个sql语句中有一些代码不是很懂。
1. DECODE(D.MENU_ID, 'PJ000', PJ_NM, MENU_NAME) AS MENU_NAME这是什么意思?
2. FROM ( /*PM*/SELECT /*+ ORDERED USE_NL ( B A ) */
1 AS PJ_ORDER,还有这段代码
FROM ( /*PM*/SELECT /*+ ORDERED USE_NL ( B A ) */
1 AS PJ_ORDER, 'PM' AS PJ_ROLE, 0 AS MENU_LEVEL, A.PJ_CD, A.PJ_NM,
DECODE (A.PJ_CREAT_TP,
'2A', 'SI',
'7S', 'SM',
'3N', '사후',
'관리'
) AS PJ_CREAT_TP_NM,
A.PJ_CREAT_TP
FROM TPS01M B, TPD01M A在这个sql语句中有一些代码不是很懂。
1. DECODE(D.MENU_ID, 'PJ000', PJ_NM, MENU_NAME) AS MENU_NAME这是什么意思?
2. FROM ( /*PM*/SELECT /*+ ORDERED USE_NL ( B A ) */
1 AS PJ_ORDER,还有这段代码
MENU_NAME = PJ_NM
else
MENU_NAME = MENU_NAME
/*+ORDERED*/
根据表出现在FROM中的顺序,ORDERED使ORACLE依此顺序对其连接.
/*+USE_NL(TABLE)*/
将指定表与嵌套的连接的行源进行连接,并把指定表作为内部表.