2012-08-07 93 views
1

我无法理解使用的单词的用法。你能解释我吗?Oracle:使用构造的左外连接

SELECT 1 
FROM CONF_RAGGR_OPZTAR ropt 
    JOIN TAR_OPZIONI_TARIFFARIE OPT using (OPT_OPZIONE_TARIFFARIA_ID) 
    JOIN CONF_RAGGRUPPAMENTI_FORN rgf using (RGF_RAGGRUPPAMENTO_FORN_ID) 
    JOIN CONF_FORNITURE_REL_RAGG forg using (RGF_RAGGRUPPAMENTO_FORN_ID) 
    JOIN CONF_FORNITURE forn using (FORN_FORNITURA_ID) 
    LEFT JOIN (
      select * 
      from CONF_ELEMENTI_FATTURABILI 
      where ELF_FLAG_ANN = 'N' 
       AND ELF_DATA_VER_FIN = TO_DATE('31/12/9999','DD/MM/YYYY') 
     ) elf **using** (ROPT_RAGGR_OPZTAR_ID,COID_CONTRATTUARIO_ID,ROPT_DATA_INI,EDW_PARTITION) 
-- LEFT OUTER JOIN TAR_VOCI_FATTURABILI vof 
--  ON (elf.VOF_VOCE_FATTURABILE_ID = vof.VOF_VOCE_FATTURABILE_ID) 
-- LEFT OUTER JOIN BASE_FASCE_ORARIE fas 
--  ON (fas.FAS_FASCIA_ORARIA_ID = elf.FAS_FASCIA_ORARIA_ID) 
WHERE FORN_FORNITURA_ID = 'QJlXmOFZPF3eAlAG' 
ORDER BY elf.ELF_VERSIONE DESC; 

回答

2

using关键字表示这是一个natural join。这意味着连接两侧的列名是相同的。

在你的情况,这意味着你将加入双方就ROPT_RAGGR_OPZTAR_IDCOID_CONTRATTUARIO_IDROPT_DATA_INIEDW_PARTITION