ORACLE inner join写法
时间: 2023-11-25 21:51:48 浏览: 220
以下是Oracle inner join的写法示例:
```sql
SELECT *
FROM A
INNER JOIN B
ON A.PERSON_ID = B.PERSON_ID;
```
其中,A和B是两个表的名称,PERSON_ID是这两个表中共有的列名,用于连接这两个表。INNER JOIN表示只返回两个表中都存在的记录。
相关问题
Select * From SR_LC_SHIPMENT_RELEASES srf, SR_LC_RELEASE_CONSIGNMENTS cnr, SR_LC_SHPT_RLS_PAYMENTS pay, SR_LC_SHPT_RLS_CHARGES charge Where srf.RELEASE_CONSIGNMENT_UID=cnr.RELEASE_CONSIGNMENT_UID AND srf.SHIPMENT_RELEASE_UID=pay.SHIPMENT_RELEASE_UID(+) AND 'SC'=pay.CHARGE_TYPE(+) AND srf.SHIPMENT_RELEASE_UID=charge.SHIPMENT_RELEASE_UID(+) AND 'SC'=charge.CHARGE_TYPE(+);上面的oracle的写法,请转换为sparksql的写法。
在 Spark SQL 中,可以使用以下语句来实现与 Oracle 中相同的查询:
```
SELECT *
FROM SR_LC_SHIPMENT_RELEASES srf
JOIN SR_LC_RELEASE_CONSIGNMENTS cnr ON srf.RELEASE_CONSIGNMENT_UID = cnr.RELEASE_CONSIGNMENT_UID
LEFT JOIN SR_LC_SHPT_RLS_PAYMENTS pay ON srf.SHIPMENT_RELEASE_UID = pay.SHIPMENT_RELEASE_UID AND pay.CHARGE_TYPE = 'SC'
LEFT JOIN SR_LC_SHPT_RLS_CHARGES charge ON srf.SHIPMENT_RELEASE_UID = charge.SHIPMENT_RELEASE_UID AND charge.CHARGE_TYPE = 'SC';
```
需要注意的是,Spark SQL 中的 JOIN 默认为 INNER JOIN,因此需要使用 LEFT JOIN 替代 Oracle 中的 OUTER JOIN。此外,Spark SQL 中的 JOIN 条件可以直接使用 ON 进行指定,而不需要使用 WHERE 子句。
阅读全文