SQL连接,Oracle关联加号(+)等相关知识
2011-10-10 11:29
162 查看
1. LEFT OUTER JOIN:左外关联
SELECT e.last_name, e.department_id, d.department_name
FROM employees e
LEFT OUTER JOIN departments d
ON (e.department_id = d.department_id);
等价于
SELECT e.last_name, e.department_id, d.department_name
FROM employees e, departments d
WHERE e.department_id=d.department_id(+);
结果为:所有员工及对应部门的记录,包括没有对应部门编号department_id的员工记录。
2. RIGHT OUTER JOIN:右外关联
SELECT e.last_name, e.department_id, d.department_name
FROM employees e
RIGHT OUTER JOIN departments d
ON (e.department_id = d.department_id);
等价于
SELECT e.last_name, e.department_id, d.department_name
FROM employees e, departments d
WHERE e.department_id(+)=d.department_id;
结果为:所有员工及对应部门的记录,包括没有任何员工的部门记录。
3. FULL OUTER JOIN:全外关联
SELECT e.last_name, e.department_id, d.department_name
FROM employees e
FULL OUTER JOIN departments d
ON (e.department_id = d.department_id);
结果为:所有员工及对应部门的记录,包括没有对应部门编号department_id的员工记录和没有任何员工的部门记录。
SELECT e.last_name, e.department_id, d.department_name
FROM employees e
LEFT OUTER JOIN departments d
ON (e.department_id = d.department_id);
等价于
SELECT e.last_name, e.department_id, d.department_name
FROM employees e, departments d
WHERE e.department_id=d.department_id(+);
结果为:所有员工及对应部门的记录,包括没有对应部门编号department_id的员工记录。
2. RIGHT OUTER JOIN:右外关联
SELECT e.last_name, e.department_id, d.department_name
FROM employees e
RIGHT OUTER JOIN departments d
ON (e.department_id = d.department_id);
等价于
SELECT e.last_name, e.department_id, d.department_name
FROM employees e, departments d
WHERE e.department_id(+)=d.department_id;
结果为:所有员工及对应部门的记录,包括没有任何员工的部门记录。
3. FULL OUTER JOIN:全外关联
SELECT e.last_name, e.department_id, d.department_name
FROM employees e
FULL OUTER JOIN departments d
ON (e.department_id = d.department_id);
结果为:所有员工及对应部门的记录,包括没有对应部门编号department_id的员工记录和没有任何员工的部门记录。
相关文章推荐
- SQL连接,Oracle关联加号(+)等相关知识
- SQL连接,Oracle关联加号(+)等相关知识
- SQL连接,Oracle关联加号(+)
- 跟踪oracle中sql语句执行过程及相关知识拓展
- java weblogic oracle相关连接基础知识收集
- SQL建立连接服务到Oracle数据库相关知识
- oracle sqlplus相关知识
- oracle的在sql语句后加for update 不是都起作用的,对于单表是可以的,但是对于多表关联(无论left join还是内连接等)都不能修改
- 关于JAVA连接ORACLE以及使用的相关知识
- 跟踪oracle中sql语句执行过程及相关知识拓展
- SQL错误:相关的信息为:用户 sa 登录失败。原因: 未与信任 SQL Server 连接相关联。
- win8系统中PL/SQL Developer连接Oracle出现的问题
- 本机不安装Oracle客户端,使用PL/SQL Developer连接远程数据库
- sql 2005 用户 sa 登录失败,该用户与可信SQL Server连接无关联 错误18452
- ORACLE Nologging相关知识
- 【Oracle脚本】Oracle进程相关的SQL脚本
- 本机不安装Oracle客户端,使用PL/SQL Developer连接远程数据库
- Oracle SQL Developer 相关
- 【转】Win7 64bit Oracle 11g 使用PL/SQL Developer 连接时提示“SQL*Net not properly installed”
- oracle:pl/sql developer 连接远程oracle数据库(精简版)