oracle多表查询(二)
发布时间:2020-12-12 13:40:45 所属栏目:百科 来源:网络整理
导读:现在要求查询出每一个雇员的编号、姓名、工资、部门名称、工资所在公司的工资等级。 select e.EMPNO 员工编号,e.ENAME 员工姓名,e.SAL 员工工资,d.DNAME 部门名称,s.GRADE 工资等级 FROM EMP e,DEPT d,SALGRADE s WHERE e.DEPTNO=d.DEPTNO AND e.SAL BETWEEN
现在要求查询出每一个雇员的编号、姓名、工资、部门名称、工资所在公司的工资等级。 select e.EMPNO 员工编号,e.ENAME 员工姓名,e.SAL 员工工资,d.DNAME 部门名称,s.GRADE 工资等级 FROM EMP e,DEPT d,SALGRADE s ? ? ? ?左,右连接左、右连接指的主要是查询判断条件的参考方向 例如我们执行: SELECT * FROM emp e,dept d WHERE e.deptno=d.deptno; ? 但是我们的部门一共有四个,这样看不到部门D的数据,这时就需要我们使用右连接 SELECT * FROM emp e right JOIN dept d ON e.deptno=d.deptno;(右连接的意思就是,即使关联条件执行后,right join后面表的数据也都会显示,相对于的right join前面表的数据就都是null) ? 这种写法等价于 SELECT * FROM emp e,dept d where e.deptno(+)=d.deptno;(这时oracle数据库独有的写法) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |