select bwf.BWFR_ID,bwf.BWFR_SUBCLASS,bwf.BWFR_CONSIGN_ID,bwf.BWFR_SRC_CONSIGN_ID,
bwf.BWFR_COMPLETE_TIME,bwf.BWFR_CUSTOMER,bwf.BWFR_CANVASS,bwf.BWFR_FLOW,bwf.BWFR_SERV_SEGMENT,
bwf.BWFR_MBL_NO,bwf.BWFR_HBL_NO,bwf.BWFR_VESSEL_EN,bwf.BWFR_VOYAGE_CODE,bwf.BWFR_SAILING_TIME,
bwf.BWFR_DELIVER_TIME,bwf.BWFR_FEEDER_CARRIER,bwf.BWFR_CARRIER,bwf.BWFR_LOADING_PORT,
bwf.BWFR_TRANSFER_PORT,bwf.BWFR_DISCHARGE_PORT,bwf.BWFR_OVERSEA_AGENT,bwf.BWFR_PAY_MODE,
bwf.BWFR_TERM,bwf.BWFR_BULK_VOLUME,bwf.BWFR_LCL_VOLUME,bwf.BWFR_TEU,bwf.BWFR_CUSTOMS_NUM,
bwf.BWFR_REMARK,bwf.BWFR_ORG_ID,bwf.BWFR_AUDIT_FLAG,bwf.BWFR_DEL_FLAG,bwf.MODIFY_TIME,bwf.MODIFIER,
bwf.CREATE_TIME,bwf.CREATOR,bwf.REC_VER,
ccu.CCUS_NAME,cfc.CFCA_NAME,cca.CCAR_NAME,csp.CSPO_NAME "BWFR_LOADING_PORT_NAME",
csp2.CSPO_NAME "BWFR_TRANSFER_PORT_NAME",csp3.CSPO_NAME "BWFR_DISCHARGE_PORT_NAME" ,
coa.COAG_NAME
from bus_waterway_freight bwf , cod_customer ccu , cod_shipping_port csp , cod_feeder_carrier cfc , cod_carrier cca
, cod_shipping_port csp2 , cod_shipping_port csp3 , COD_OVERSEA_AGENT coa
where bwf.BWFR_DEL_FLAG ='N'
and bwf.BWFR_ID = :bwfrId
and bwf.BWFR_CUSTOMER = ccu.ccus_Id(+)
and bwf.BWFR_CARRIER = cca.ccar_Id(+)
and bwf.BWFR_FEEDER_CARRIER = cfc.cfca_Id(+)
and bwf.BWFR_LOADING_PORT = csp.cspo_Id(+)
and bwf.BWFR_TRANSFER_PORT = csp2.cspo_Id(+)
and bwf.BWFR_DISCHARGE_PORT = csp3.cspo_Id(+)
and bwf.BWFR_OVERSEA_AGENT = coa.coag_Id(+)
-----------------------------------------------------------------
select bwf.BWFR_ID,bwf.BWFR_SUBCLASS,bwf.BWFR_CONSIGN_ID,bwf.BWFR_SRC_CONSIGN_ID,
bwf.BWFR_COMPLETE_TIME,bwf.BWFR_CUSTOMER,bwf.BWFR_CANVASS,bwf.BWFR_FLOW,bwf.BWFR_SERV_SEGMENT,
bwf.BWFR_MBL_NO,bwf.BWFR_HBL_NO,bwf.BWFR_VESSEL_EN,bwf.BWFR_VOYAGE_CODE,bwf.BWFR_SAILING_TIME,
bwf.BWFR_DELIVER_TIME,bwf.BWFR_FEEDER_CARRIER,bwf.BWFR_CARRIER,bwf.BWFR_LOADING_PORT,
bwf.BWFR_TRANSFER_PORT,bwf.BWFR_DISCHARGE_PORT,bwf.BWFR_OVERSEA_AGENT,bwf.BWFR_PAY_MODE,
bwf.BWFR_TERM,bwf.BWFR_BULK_VOLUME,bwf.BWFR_LCL_VOLUME,bwf.BWFR_TEU,bwf.BWFR_CUSTOMS_NUM,
bwf.BWFR_REMARK,bwf.BWFR_ORG_ID,bwf.BWFR_AUDIT_FLAG,bwf.BWFR_DEL_FLAG,bwf.MODIFY_TIME,bwf.MODIFIER,
bwf.CREATE_TIME,bwf.CREATOR,bwf.REC_VER,bwf.BWFR_INPUT_MODE,
ccu.CCUS_NAME,cfc.CFCA_NAME,cca.CCAR_NAME,csp.CSPO_NAME "BWFR_LOADING_PORT_NAME",
csp2.CSPO_NAME "BWFR_TRANSFER_PORT_NAME",csp3.CSPO_NAME "BWFR_DISCHARGE_PORT_NAME" ,
coa.COAG_NAME
from bus_waterway_freight bwf left outer join cod_customer ccu on bwf.BWFR_CUSTOMER = ccu.ccus_Id
left outer join cod_feeder_carrier cfc on bwf.BWFR_FEEDER_CARRIER = cfc.cfca_Id
left outer join cod_carrier cca on bwf.BWFR_CARRIER = cca.ccar_Id
left outer join cod_shipping_port csp on bwf.BWFR_LOADING_PORT = csp.cspo_Id
left outer join cod_shipping_port csp2 on bwf.BWFR_TRANSFER_PORT = csp2.cspo_Id
left outer join cod_shipping_port csp3 on bwf.BWFR_DISCHARGE_PORT = csp3.cspo_Id
left outer join COD_OVERSEA_AGENT coa on bwf.BWFR_OVERSEA_AGENT = coa.coag_Id
where bwf.BWFR_DEL_FLAG ='N'
and bwf.BWFR_ID = :bwfrId
分享到:
相关推荐
Oracle 左连接右连接学习 Oracle 中的连接(Join)是一种强大的工具,用于将两个或多个表合并成一个结果集。在学习 Oracle 连接时,可能会感到困惑,因为有多种类型的连接,每种类型都有其特点和应用场景。下面我们...
Oracle左连接返回多条记录中一条记录的查询语句,更具指定条件分组排序,返回各组中第一条记录
本文将详细介绍Oracle中的左连接(Left Join)、右连接(Right Join)、内连接(Inner Join)、全连接(Full Join)以及交叉连接(Cross Join)的方法,并通过示例来帮助理解每种连接的特点。 ### 一、左连接(Left...
1. **笛卡尔积**:当两个表进行连接时,如果没有指定任何连接条件,那么将会产生笛卡尔积。也就是说,第一个表中的每一行都会与第二个表中的所有行进行组合,最终结果集的行数将是两表行数的乘积。 2. **连接条件**...
介绍SQL语句中的多表连接查询。主要讲解了表连接的形式和笛卡尔积,程序也重点讲解了表的左连接、右连接、自然连接等基本概念。
本文将详细介绍Oracle中常见的几种表连接方式及其应用场景,包括内连接(Inner Join)、外连接(Outer Join)、左连接(Left Join)、右连接(Right Join)等,并通过具体的例子来帮助理解每种连接的特点与区别。...
- **交叉连接(Cross Join)**:也称为笛卡尔积,它返回两个表的每一对组合,结果行数等于第一个表的行数乘以第二个表的行数。例如,`SELECT * FROM A CROSS JOIN B`。 - **自然连接(Natural Join)**:自然连接...
交叉连接也称为笛卡尔积,它返回左表与右表中每一条记录的组合。如果没有WHERE子句来过滤结果,将会产生大量的无意义组合。 **语法示例:** ```sql SELECT * FROM TableA CROSS JOIN TableB; ``` **应用场景:** ...
在这个课堂中,我们将深入探讨多表查询的基本语法以及笛卡尔积的运用。 首先,多表查询是数据库操作中的核心技能,它允许用户从两个或更多个相关的表中联合检索数据。在Oracle中,这通常通过使用JOIN语句实现。JOIN...
- SQL1999规范引入了更灵活的连接方式,包括`CROSS JOIN`(生成笛卡尔积)、`NATURAL JOIN`(基于相同列名自动连接)、`JOIN ... USING`(指定连接列)以及`JOIN ... ON`(自定义连接条件)。 - **交叉连接(Cross...
5. **交叉连接(CROSS JOIN)**:也称为笛卡尔积,返回左表的每条记录与右表的每条记录的组合,除非明确指定连接条件,否则结果通常非常大。 在`at`这个关键字可能是指Oracle的`AT`时间点功能,它允许我们在特定的...
在进行多表连接时,如果没有明确指定连接条件,数据库会默认返回所有表行的笛卡尔积,这通常会导致大量无意义的数据行输出。因此,在编写多表连接的SQL语句时,需要特别注意避免不必要的笛卡尔积,确保查询的效率和...
此外,避免笛卡尔积是多表查询的一个关键点。当没有指定有效的连接条件时,数据库会返回所有可能的组合,即每个表的每一行与其他所有行进行组合,这可能导致大量无用且巨大的结果集。因此,确保在`WHERE`子句中添加...
5. **笛卡尔积**:如果没有指定任何连接条件,或者连接条件无效,那么所有表中的所有行都会互相连接,产生笛卡尔积,即每个表中的每一行与其他表中的每一行进行组合,结果可能会非常大,因此在实际查询中需要避免...
- **笛卡尔积**:如果在连接两个表时没有指定任何连接条件,就会产生笛卡尔积,即两个表中所有行的组合。 - **示例**:若表A有3行数据,表B有4行数据,则笛卡尔积将产生12行数据。 **2. 连接的类型** - **Oracle...
在 Oracle 中,多表查询可以使用不同的连接类型,包括内连接(inner join)、左连接(left join)、右连接(right join)、全连接(full join)和交叉连接(cross join)。 1. 内连接(inner join) 内连接是指...
当进行多表连接时,如果没有指定有效的连接条件,将会产生笛卡尔积。笛卡尔积指的是两个表的每一个记录都会与另一个表的每一个记录进行配对,这可能导致结果集中出现大量的冗余数据。 **避免笛卡尔积的方法**: - ...
- 交叉连接会返回两个表的笛卡尔积;自然连接则基于两个表中相同的列进行连接;使用列名称指定连接则是明确指出连接的依据;而基于条件的连接则可以根据指定的条件进行连接。 - 示例:`SELECT * FROM employee ...
多表查询是从多张表中取数据的形式,但是多表查询会存在笛卡尔积的问题,而消除此问题可以使用连接的方式完成(内连接、外连接(左外连接、右外连接、全外连接))。虽然连接的方式可以消除笛卡尔积,但是这个积依然...