join和on语句中select语句选择公共列的区别
发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,对多个表进行join时,在select语句中,如果使用using语句,则using语句中选中的列,在select语句中不能指定限定词,否则会报ORA-25154查看emp表SQL> select *
千家信息网最后更新 2026年11月02日join和on语句中select语句选择公共列的区别
对多个表进行join时,在select语句中,如果使用using语句,则using语句中选中的列,在select语句中不能指定限定词,否则会报ORA-25154
查看emp表
SQL> select * from emp;EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO----- ---------- --------- ----- ----------- --------- --------- ------ 7369 SMITH CLERK 7902 1980/12/17 800.00 20 7499 ALLEN SALESMAN 7698 1981/2/20 1600.00 300.00 30 7521 WARD SALESMAN 7698 1981/2/22 1250.00 500.00 30 7566 JONES MANAGER 7839 1981/4/2 2975.00 20 7654 MARTIN SALESMAN 7698 1981/9/28 1250.00 1400.00 30 7698 BLAKE MANAGER 7839 1981/5/1 2850.00 30 7782 CLARK MANAGER 7839 1981/6/9 2450.00 10 7788 SCOTT ANALYST 7566 1987/4/19 3000.00 20 7839 KING PRESIDENT 1981/11/17 5000.00 10 7844 TURNER SALESMAN 7698 1981/9/8 1500.00 0.00 30 7876 ADAMS CLERK 7788 1987/5/23 1100.00 20 7900 JAMES CLERK 7698 1981/12/3 950.00 30 7902 FORD ANALYST 7566 1981/12/3 3000.00 20 7934 MILLER CLERK 7782 1982/1/23 1300.00 10
查看dept表
SQL> select * from dept;DEPTNO DNAME LOC------ -------------- ------------- 10 ACCOUNTING NEW YORK 20 RESEARCH DALLAS 30 SALES CHICAGO 40 OPERATIONS BOSTON
在select语句中使用using语句中指定的列,添加限定词
SQL> select e.deptno,e.sal,d.dname from emp e join dept d using(deptno)ORA-25154: USING 子句的列部分不能有限定词
不添加时
SQL> select deptno,e.sal,d.dname from emp e join dept d using(deptno);DEPTNO SAL DNAME------ --------- -------------- 10 2450.00 ACCOUNTING 10 5000.00 ACCOUNTING 10 1300.00 ACCOUNTING 20 2975.00 RESEARCH 20 3000.00 RESEARCH 20 1100.00 RESEARCH 20 800.00 RESEARCH 20 3000.00 RESEARCH 30 1250.00 SALES 30 1500.00 SALES 30 1600.00 SALES 30 950.00 SALES 30 2850.00 SALES 30 1250.00 SALES14 rows selected
而使用on时,则必须指定限定词才能正确的显示,否则会报错,提示deptno未能识别是哪个表,因为dept和emp表中都有deptno列
select deptno,e.sal,d.dname from emp e join dept d on(e.deptno=d.deptno);select deptno,e.sal,d.dname from emp e join dept d on(e.deptno=d.deptno)ORA-00918: 未明确定义列
给deptno添加限定词,就可以正常显示了
SQL> select e.deptno,e.sal,d.dname from emp e join dept d on(e.deptno=d.deptno);DEPTNO SAL DNAME------ --------- -------------- 10 2450.00 ACCOUNTING 10 5000.00 ACCOUNTING 10 1300.00 ACCOUNTING 20 2975.00 RESEARCH 20 3000.00 RESEARCH 20 1100.00 RESEARCH 20 800.00 RESEARCH 20 3000.00 RESEARCH 30 1250.00 SALES 30 1500.00 SALES 30 1600.00 SALES 30 950.00 SALES 30 2850.00 SALES 30 1250.00 SALES14 rows selected
在使用using时,对select语句中的选定using指定的列时,无需指定限定词
在使用on时,必须在select语句中对on语句条件中的条件列添加限定词。
语句
限定词
条件
会报
中指
多个
子句
部分
提示
选择
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
咖啡豆
互联网络科技
百单网互联网科技有限公司
互联网科技深圳
互联网金融与金融科技
浩特互联网科技
善班互联网科技有限公司
滨湖区互联网智能科技产品供应
无锡溥仪互联网科技有限公司
广州恒生互联网科技有限
阿大互联网科技有限公司
米聚互联网科技南京有限公司排面
电子科技大学互联网创业大赛
浙南科技城互联网大厦建设工程
杭州披云加互联网科技有限公司
城市宝互联网科技有限公司
互联网营销推广黑科技
下一代互联网重大应用科技园
神州科技互联网有限公司
云鲸互联网络科技有限公司
中国互联网科技工作委员会毛军
深圳互联网科技公司
互联网科技金融公司
互联网科技英文
互联网科技小贷
南京欣网互联网科技
小米互联网科技园设置
岳阳华臻互联网科技有限公司
上海创道互联网络科技有限公司
陕西彩京云互联网科技有限公司