Oracle连接查询
来源:互联网 发布:js 指定时间转时间戳 编辑:程序博客网 时间:2024/05/17 22:23
Oracle基础教程:连接查询,在SQL Server中已经学习过内联接(inner join)、外联接(outer join),外联接又分为左外联接(left outer join)和右外联接(right outer join)。Oracle中对两个表或者若干表之间的外联接用(+)表示。
案例7:请查询出工资大于2000元的,员工姓名,部门,工作,工资。
由于部门名称在dept中,其他的信息在emp表中,需要内联接才能完成。
代码演示:内联接
SQL> SELECT e.ENAME,e.JOB,e.SAL,d.DNAME
2 FROM emp e,dept d
3 WHERE e.deptno=d.deptno
4 AND e.SAL>2000;
ENAME
JOB
SAL
DNAME
JONES
MANAGER
2975
RESEARCH
BLAKE
MANAGER
2850
SALES
CLARK
MANAGER
2450
ACCOUNTING
SCOTT
ANALYST
3000
RESEARCH
KING
PRESIDENT
5000
ACCOUNTING
FORD
ANALYST
3000
RESEARCH
6 rows selected
也可以使用SQL/92标准中的内联接:
代码演示:内联接
SELECT e.ENAME,e.JOB,e.SAL,d.DNAME
FROM EMP e INNER JOIN DEPT d ON e.DEPTNO=d.DEPTNO
WHERE e.SAL>2000
这里INNER JOIN中,关键字INNER可以省略。
案例8:请查询出每个部门下的员工姓名,工资。
案例分析:
Emp表用外键deptno引用Dept表中的deptno,在Dept表中如果有某些部门没有员工,那么用内联接,没有员工的部门将无法显示,因此必须以Dept表为基准的外联接。
代码演示:外联接
SQL> SELECT e.ENAME,e.JOB,e.SAL,d.DNAME
2 FROM EMP e ,DEPT d
3 WHERE e.DEPTNO(+)=d.DEPTNO ①
4 /
ENAME
JOB
SAL
DNAME
SMITH
CLERK
800
RESEARCH
ALLEN
SALESMAN
1600
SALES
WARD
SALESMAN
1250
SALES
JONES
MANAGER
2975
RESEARCH
MARTIN
SALESMAN
1250
SALES
BLAKE
MANAGER
2850
SALES
CLARK
MANAGER
2450
ACCOUNTING
SCOTT
ANALYST
3000
RESEARCH
KING
PRESIDENT
5000
ACCOUNTING
TURNER
SALESMAN
1500
SALES
ADAMS
CLERK
1100
RESEARCH
JAMES
CLERK
950
SALES
FORD
ANALYST
3000
RESEARCH
MILLER
CLERK
1300
ACCOUNTING
公关部
研发部
培训部
OPERATIONS
18 rows selected
代码解析:
① (+):Oracle专用的联接符,在条件中出现在左边指右外联接,出现在右边指左外联接。
也可以使用SQL/92标准的写法:
代码演示:外联接
SELECT e.ENAME,e.JOB,e.SAL,d.DNAME
FROM EMP e RIGHT OUTER JOIN DEPT d ON e.DEPTNO=d.DEPTNO
这里RIGHT OUTER JOIN中,关键字OUTER可以省略。
提示:虽然Oracle自身的联接查询语法比较好写,同时容易理解,但是为了程序便于移植,推荐使用SQL/92表中的联接查询。同时也可以与SQL Server获得一致。
来源:Oracle培训
- oracle外连接查询
- oracle 连接查询
- oracle外连接查询
- Oracle中的连接查询
- 连接查询-Oracle
- oracle连接查询详解
- oracle查询连接
- oracle sql连接查询
- Oracle的连接查询
- oracle连接查询
- 查询Oracle 连接数
- oracle 连接查询
- Oracle的连接查询
- oracle连接查询
- Oracle连接查询详解
- oracle 连接查询
- Oracle连接查询
- oracle连接查询
- 学习OpenGL-ES: 2 - EGL解析
- VS2010/MFC编程入门之十九(对话框:颜色对话框)
- 更改app store开发商名字
- android 接口回调用法
- 延迟是AR/VR体验的基础
- Oracle连接查询
- 线程属性设置
- JSP与SEVERLET
- Bootstrap出现$(...)modal is not a function错误
- 树状数组
- map的四种遍历
- android 软键盘 InputMethodManager
- CheckBoxList控件绑定数据和设置选定项
- light oj 1085