You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Oracle中使用USING连接列名不同的表的方法咨询

Oracle USING子句连接问题解决

你的问题出在USING子句的核心规则上:USING仅支持两个表中字段名完全一致的关联字段,而你的EMPLEADOS表关联字段是codigo,TRABAJAN表对应字段是cod_emp,字段名不匹配,所以无法直接用USING实现连接。

你当前的SQL写法错误,因为USING括号内的字段必须是两个表共有的同名字段,而CODIGO和COD_EMP分别属于不同表,不符合USING的使用条件。

正确的写法应该使用ON子句:

SELECT NOMBRE, FUNCION
FROM EMPLEADOS
JOIN TRABAJAN ON EMPLEADOS.codigo = TRABAJAN.cod_emp;

如果非要用USING,只能先给字段统一别名再关联,但这种写法冗余且没必要:

SELECT NOMBRE, FUNCION
FROM (SELECT codigo AS cod_emp, NOMBRE FROM EMPLEADOS) e
JOIN TRABAJAN USING (cod_emp);

你提供的Oracle文档示例中,COUNTRIES和CITIES表同时拥有COUNTRY和COUNTRY_ISO_CODE这两个同名字段,所以能直接用USING关联,这和你的字段名不同的场景完全不一样。

内容的提问来源于stack exchange,提问作者Rayman

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.21 16:52:01