Q9 select nation, o_year, sum(amount) as sum_profit from ( select n_name as nation, extract(year from o_orderdate) as o_year, l_extendedprice * (1 - l_discount) - ps_supplycost * l_quantity as amount from part, supplier, lineitem, partsupp, orders, nation where s_suppkey = l_suppkey and ps_suppkey = l_suppkey and ps_partkey = l_partkey and p_partkey = l_partkey and o_orderkey = l_orderkey and s_nationkey = n_nationkey and p_name like '%:1%' ) profit group by nation, o_year order by nation, o_year desc; Oracle execution Plan Operation: table access Options: FULL Object_type: TABLE Other: Object_owner: CALUSER01 Search_columns: Projection: P_PARTKEY Object_name: PART Alias: PART@SEL$2 Extended_information: FP:P_NAME LIKE '%:1%' Access_predicates: Filter_predicates: P_NAME LIKE '%:1%' Select_level: SEL$F5BB74E1 -------------------- Operation: table access Options: FULL Object_type: TABLE Other: Object_owner: CALUSER01 Search_columns: Projection: L_ORDERKEY^L_PARTKEY^L_SUPPKEY^L_QUANTITY^L_EXTENDEDPRICE^L_DISCOUNT Object_name: LINEITEM Alias: LINEITEM@SEL$2 Extended_information: Access_predicates: Filter_predicates: Select_level: SEL$F5BB74E1 -------------------- Operation: hash join Options: Object_type: Other: Object_owner: Search_columns: Projection: L_PARTKEY^L_ORDERKEY^L_DISCOUNT^L_SUPPKEY^L_QUANTITY^L_EXTENDEDPRICE Object_name: Alias: Extended_information: AP:P_PARTKEY=L_PARTKEY Access_predicates: P_PARTKEY=L_PARTKEY Filter_predicates: Select_level: -------------------- Operation: table access Options: FULL Object_type: TABLE Other: Object_owner: CALUSER01 Search_columns: Projection: S_SUPPKEY^S_NATIONKEY Object_name: SUPPLIER Alias: SUPPLIER@SEL$2 Extended_information: Access_predicates: Filter_predicates: Select_level: SEL$F5BB74E1 -------------------- Operation: hash join Options: Object_type: Other: Object_owner: Search_columns: Projection: L_SUPPKEY^L_PARTKEY^L_ORDERKEY^L_DISCOUNT^L_EXTENDEDPRICE^L_QUANTITY^S_NATIONKEY Object_name: Alias: Extended_information: AP:S_SUPPKEY=L_SUPPKEY Access_predicates: S_SUPPKEY=L_SUPPKEY Filter_predicates: Select_level: -------------------- Operation: table access Options: FULL Object_type: TABLE Other: Object_owner: CALUSER01 Search_columns: Projection: PS_PARTKEY^PS_SUPPKEY^PS_SUPPLYCOST Object_name: PARTSUPP Alias: PARTSUPP@SEL$2 Extended_information: Access_predicates: Filter_predicates: Select_level: SEL$F5BB74E1 -------------------- Operation: hash join Options: Object_type: Other: Object_owner: Search_columns: Projection: S_NATIONKEY^L_QUANTITY^L_ORDERKEY^L_DISCOUNT^L_EXTENDEDPRICE^PS_SUPPLYCOST Object_name: Alias: Extended_information: AP:PS_SUPPKEY=L_SUPPKEY AND PS_PARTKEY=L_PARTKEY Access_predicates: PS_SUPPKEY=L_SUPPKEY&PS_PARTKEY=L_PARTKEY Filter_predicates: Select_level: -------------------- Operation: table access Options: FULL Object_type: TABLE Other: Object_owner: CALUSER01 Search_columns: Projection: O_ORDERKEY^O_ORDERDATE Object_name: ORDERS Alias: ORDERS@SEL$2 Extended_information: Access_predicates: Filter_predicates: Select_level: SEL$F5BB74E1 -------------------- Operation: hash join Options: Object_type: Other: Object_owner: Search_columns: Projection: S_NATIONKEY^L_QUANTITY^PS_SUPPLYCOST^L_DISCOUNT^L_EXTENDEDPRICE^O_ORDERDATE Object_name: Alias: Extended_information: AP:O_ORDERKEY=L_ORDERKEY Access_predicates: O_ORDERKEY=L_ORDERKEY Filter_predicates: Select_level: -------------------- Operation: table access Options: FULL Object_type: TABLE Other: Object_owner: CALUSER01 Search_columns: Projection: N_NATIONKEY^N_NAME Object_name: NATION Alias: NATION@SEL$2 Extended_information: Access_predicates: Filter_predicates: Select_level: SEL$F5BB74E1 -------------------- Operation: hash join Options: Object_type: Other: Object_owner: Search_columns: Projection: O_ORDERDATE^L_QUANTITY^PS_SUPPLYCOST^L_DISCOUNT^L_EXTENDEDPRICE^N_NAME Object_name: Alias: Extended_information: AP:S_NATIONKEY=N_NATIONKEY Access_predicates: S_NATIONKEY=N_NATIONKEY Filter_predicates: Select_level: -------------------- Operation: sort Options: GROUP BY Object_type: Other: Object_owner: Search_columns: Projection: N_NAME^EXTRACT(YEAR FROM INTERNAL_FUNCTION(O_ORDERDATE))^SUM(L_EXTENDEDPRICE*(1-L_DISCOUNT)-PS_SUPPLYCOST*L_QUANTITY) Object_name: Alias: Extended_information: Access_predicates: Filter_predicates: Select_level: SEL$F5BB74E1 -------------------- Operation: select statement Options: Object_type: Other: Object_owner: Search_columns: Projection: Object_name: Alias: Extended_information: Access_predicates: Filter_predicates: Select_level: -------------------- Calpont Execution Plan >SELECT MAIN >>Returned Columns SimpleColumn tpch.NATION.N_NAME s/t/c/T/A: tpch/NATION/N_NAME/5/NATION ArithmeticColumn: FunctionColumn: extract(YEAR FROM INTERNAL_FUNCTION(O_ORDERDATE)) ArithmeticColumn: AggregateColumn sum(L_EXTENDEDPRICE*(1-L_DISCOUNT)-PS_SUPPLYCOST*L_QUANTITY) ArithmeticColumn: SimpleColumn L_EXTENDEDPRICE s/t/c/T/A: ///0/ ConstantColumn: 1(n) SimpleColumn L_DISCOUNT s/t/c/T/A: ///0/ Operator: - Operator: * SimpleColumn PS_SUPPLYCOST s/t/c/T/A: ///0/ SimpleColumn L_QUANTITY s/t/c/T/A: ///0/ Operator: * Operator: - >>Filters SimpleFilter SimpleColumn tpch.PART.P_NAME s/t/c/T/A: tpch/PART/P_NAME/47/ Operator: LIKE ConstantColumn: %:1%(l) SimpleFilter SimpleColumn tpch.PART.P_PARTKEY s/t/c/T/A: tpch/PART/P_PARTKEY/46/PART Operator: = SimpleColumn tpch.LINEITEM.L_PARTKEY s/t/c/T/A: tpch/LINEITEM/L_PARTKEY/26/LINEITEM Operator: and SimpleFilter SimpleColumn tpch.SUPPLIER.S_SUPPKEY s/t/c/T/A: tpch/SUPPLIER/S_SUPPKEY/55/SUPPLIER Operator: = SimpleColumn tpch.LINEITEM.L_SUPPKEY s/t/c/T/A: tpch/LINEITEM/L_SUPPKEY/27/LINEITEM Operator: and SimpleFilter SimpleColumn tpch.PARTSUPP.PS_SUPPKEY s/t/c/T/A: tpch/PARTSUPP/PS_SUPPKEY/42/PARTSUPP Operator: = SimpleColumn tpch.LINEITEM.L_SUPPKEY s/t/c/T/A: tpch/LINEITEM/L_SUPPKEY/27/LINEITEM SimpleFilter SimpleColumn tpch.PARTSUPP.PS_PARTKEY s/t/c/T/A: tpch/PARTSUPP/PS_PARTKEY/41/PARTSUPP Operator: = SimpleColumn tpch.LINEITEM.L_PARTKEY s/t/c/T/A: tpch/LINEITEM/L_PARTKEY/26/LINEITEM Operator: AND Operator: and SimpleFilter SimpleColumn tpch.ORDERS.O_ORDERKEY s/t/c/T/A: tpch/ORDERS/O_ORDERKEY/16/ORDERS Operator: = SimpleColumn tpch.LINEITEM.L_ORDERKEY s/t/c/T/A: tpch/LINEITEM/L_ORDERKEY/25/LINEITEM Operator: and SimpleFilter SimpleColumn tpch.SUPPLIER.S_NATIONKEY s/t/c/T/A: tpch/SUPPLIER/S_NATIONKEY/58/SUPPLIER Operator: = SimpleColumn tpch.NATION.N_NATIONKEY s/t/c/T/A: tpch/NATION/N_NATIONKEY/4/NATION Operator: and >>Group By Columns SimpleColumn tpch.NATION.N_NAME s/t/c/T/A: tpch/NATION/N_NAME/5/NATION ArithmeticColumn: FunctionColumn: extract(YEAR FROM INTERNAL_FUNCTION(O_ORDERDATE)) ArithmeticColumn: AggregateColumn sum(L_EXTENDEDPRICE*(1-L_DISCOUNT)-PS_SUPPLYCOST*L_QUANTITY) ArithmeticColumn: SimpleColumn L_EXTENDEDPRICE s/t/c/T/A: ///0/ ConstantColumn: 1(n) SimpleColumn L_DISCOUNT s/t/c/T/A: ///0/ Operator: - Operator: * SimpleColumn PS_SUPPLYCOST s/t/c/T/A: ///0/ SimpleColumn L_QUANTITY s/t/c/T/A: ///0/ Operator: * Operator: - SessionID: 4850 TxnID: 322 VerID: 322 --- Column Map --- L_DISCOUNT : 0x9c07cb0 L_EXTENDEDPRICE : 0x9c07c80 L_ORDERKEY : 0x9be27c8 L_PARTKEY : 0x9c07b18 L_QUANTITY : 0x9c07b78 L_SUPPKEY : 0x9c07b48 N_NAME : 0x9c072d0 N_NATIONKEY : 0x9c072a0 O_ORDERDATE : 0x9c071b8 O_ORDERKEY : 0x9c07188 PS_PARTKEY : 0x9c07ba8 PS_SUPPKEY : 0x9c07bd8 PS_SUPPLYCOST : 0x9c07c08 P_NAME : 0x9be2758 P_PARTKEY : 0x9bdbdf8 S_NATIONKEY : 0x9c07db0 S_SUPPKEY : 0x9c07d80