错误的写法:
select a.*, b.goods_title from iw_account_log a left join beyond_trade_base b on a.TRANS_OUT_ORDER_NO = b.trade_no
where a.trans_code = '6003' and a.trans_account = #transacnt:varchar# and a.trans_dt > to_date(...)
正确的写法:
select a.*, b.goods_title from iw_account_log a, beyond_trade_base b
where a.TRANS_OUT_ORDER_NO = b.trade_no(+) and a.trans_code = '6003'
and a.trans_account = #transacnt:varchar# and a.trans_dt > to_date(...)
+ //这是左连接,也就是左边连过来的,如果碰到了右边没有,那么他只好连接一个空
我们在使用连接查询的时候,要明白子查询外连接和外连接查询的区别。
1、外连接
select PROM_PRODUCT.ID, PROM_PRODUCT.GMT_CREATE, PROM_PRODUCT.GMT_MODIFIED, PROM_PRODUCT.PROMOTION_ID, PROM_PRODUCT.PRODUCT_ID, PROM_PRODUCT.PRICE_TYPE,
PROM_PRODUCT.PRICE, PROM_PRODUCT.DISCOUNT,
PROM_PRODUCT.DISCOUNT_TEMPLATE_ID, PROM_PRODUCT.STOCK, PROM_PRODUCT.PURCHASE_LIMIT_NUM_MAX, PROM_PRODUCT.PURCHASE_LIMIT_NUM_MIN, PROM_PRODUCT.STATUS,
PROM_PRODUCT.MEMBER_SEQ, PROM_PRODUCT.ADMIN_MEMBER_SEQ, PROM_PRODUCT.IS_NEED_FREEZE_FORM, PROM_PRODUCT.IS_NEED_FREEZE_SHELF, PROM_PRODUCT.PP_START_DATE,