SQL隐式连接到显式连接

SQL隐式连接到显式连接,sql,database,oracle,join,Sql,Database,Oracle,Join,我有一个简单的问题: SELECT THDR.filename, THDR.txn_header_id, THDR.txn_header_ext_id, THDR.txn_header_dttm, THDR.upload_dttm, Nvl(Sum(TDTL.txn_vol), 0) TOTAL_VOLUME, FROM ci_txn_header THDR, ci_txn_detail TDT

我有一个简单的问题:

SELECT THDR.filename, 
       THDR.txn_header_id, 
       THDR.txn_header_ext_id, 
       THDR.txn_header_dttm, 
       THDR.upload_dttm, 
       Nvl(Sum(TDTL.txn_vol), 0) TOTAL_VOLUME, 
FROM   ci_txn_header THDR, 
       ci_txn_detail TDTL, 
WHERE  THDR.txn_header_id = TDTL.txn_header_id 
现在我面临的问题是,如果ci_txn_头中存在一条记录,使得TDTL中不存在相应的记录,那么该记录不会由该查询返回

有没有一种方法可以让我把它包括在我的结果中?我不想使用联合,因为我认为在查询中使用显式连接可能会有更好的效果

请帮助我确定解决此问题所需的联接


Am使用Oracle数据库

使用左连接

SELECT THDR.filename, 
       THDR.txn_header_id, 
       THDR.txn_header_ext_id, 
       THDR.txn_header_dttm, 
       THDR.upload_dttm, 
       Nvl(Sum(TDTL.txn_vol), 0) TOTAL_VOLUME, 
FROM   ci_txn_header THDR 
LEFT JOIN ci_txn_detail TDTL 
ON THDR.txn_header_id = TDTL.txn_header_id