oracle 学习笔记四
2012-09-06 18:48
288 查看
SELECT table1.column, table2.column
FROM table1
[CROSS JOIN table2] |
[NATURAL JOIN table2] |
[JOIN table2 USING (column_name)] |
[JOIN table2
ON(table1.column_name = table2.column_name)] |
[LEFT|RIGHT|FULL OUTER JOIN table2
ON (table1.column_name = table2.column_name)];
交叉连接 CROSS JOIN
oracle 8i中
select * from employees,departments;
oracle 9i中
select * from employees CROSS JOIN departments;
自然连接 NATURAL JOIN
oracle 8i
select * from emp e,dept d where e.deptno=d.deptno;
oracle 9i
select * from emp NATURAL JOIN dept;
select * from emp join dept using (deptno);
on子名
sql-1999
select * from emp;
select * from dept;
select e.ename,e.empno,d.dname,d.deptno
from emp e join dept d on(e.deptno=d.deptno);
三个表的内连接
select * from employees;
select * from location;
select * from departments;
oracle8i等值接连
select e.employee_id,e.first_name||e.last_name,d.department_id,d.department_name,l.loc,l.city
from employees e,departments d,location l where e.department_id=d.department_id and d.location_id=l.location_id;
sql-1999
select e.employee_id,e.first_name||e.last_name,d.department_id,d.department_name,l.loc,l.city
from employees e join departments d on(e.department_id=d.department_id) join location l on(d.location_id=l.location_id);
左外连接 LEFT OUTER JOIN 对连接条件中左边的表中的记录不加限制
oracle8i右外接连
select e.employee_id,e.first_name||e.last_name,d.department_id,d.department_name
from employees e, departments d where e.department_id=d.department_id(+);
sql-1999
select e.employee_id,e.first_name||e.last_name,d.department_id,d.department_name
from employees e left outer join departments d on(e.department_id=d.department_id);
右外连接 RIGHT OUTER JOIN 对连接条件中右边的表中的记录不加限制
oracle8i左外接连
select e.employee_id,e.first_name||e.last_name,d.department_id,d.department_name
from employees e, departments d where e.department_id(+)=d.department_id;
sql-1999
select e.employee_id,e.first_name||e.last_name,d.department_id,d.department_name
from employees e right outer join departments d on(e.department_id=d.department_id);
全外连接 Full outer Join 全外连接是对两个表中的记录都不加限制。
select e.employee_id,e.first_name||e.last_name,d.department_id,d.department_name
from employees e full outer join departments d on(e.department_id=d.department_id);
FROM table1
[CROSS JOIN table2] |
[NATURAL JOIN table2] |
[JOIN table2 USING (column_name)] |
[JOIN table2
ON(table1.column_name = table2.column_name)] |
[LEFT|RIGHT|FULL OUTER JOIN table2
ON (table1.column_name = table2.column_name)];
交叉连接 CROSS JOIN
oracle 8i中
select * from employees,departments;
oracle 9i中
select * from employees CROSS JOIN departments;
自然连接 NATURAL JOIN
oracle 8i
select * from emp e,dept d where e.deptno=d.deptno;
oracle 9i
select * from emp NATURAL JOIN dept;
select * from emp join dept using (deptno);
on子名
sql-1999
select * from emp;
select * from dept;
select e.ename,e.empno,d.dname,d.deptno
from emp e join dept d on(e.deptno=d.deptno);
三个表的内连接
select * from employees;
select * from location;
select * from departments;
oracle8i等值接连
select e.employee_id,e.first_name||e.last_name,d.department_id,d.department_name,l.loc,l.city
from employees e,departments d,location l where e.department_id=d.department_id and d.location_id=l.location_id;
sql-1999
select e.employee_id,e.first_name||e.last_name,d.department_id,d.department_name,l.loc,l.city
from employees e join departments d on(e.department_id=d.department_id) join location l on(d.location_id=l.location_id);
左外连接 LEFT OUTER JOIN 对连接条件中左边的表中的记录不加限制
oracle8i右外接连
select e.employee_id,e.first_name||e.last_name,d.department_id,d.department_name
from employees e, departments d where e.department_id=d.department_id(+);
sql-1999
select e.employee_id,e.first_name||e.last_name,d.department_id,d.department_name
from employees e left outer join departments d on(e.department_id=d.department_id);
右外连接 RIGHT OUTER JOIN 对连接条件中右边的表中的记录不加限制
oracle8i左外接连
select e.employee_id,e.first_name||e.last_name,d.department_id,d.department_name
from employees e, departments d where e.department_id(+)=d.department_id;
sql-1999
select e.employee_id,e.first_name||e.last_name,d.department_id,d.department_name
from employees e right outer join departments d on(e.department_id=d.department_id);
全外连接 Full outer Join 全外连接是对两个表中的记录都不加限制。
select e.employee_id,e.first_name||e.last_name,d.department_id,d.department_name
from employees e full outer join departments d on(e.department_id=d.department_id);
相关文章推荐
- Oracle编程艺术学习笔记(1)
- oracle的数据库学习笔记,李兴华老师视频的
- oracle入门 学习笔记
- [学习笔记] ORACLE 游标提取值与表内列名相同引发的问题
- ORACLE 10G R2 RMAN学习笔记3(恢复…
- ORACLE PL/SQL 集合学习笔记(一)
- oracle model子句学习笔记
- Oracle学习笔记[5] - win2000/xp/2003下完全卸载ORACLE
- 5.Oracle深度学习笔记——内存架构之PGA SQL Work 区
- oracle 学习笔记
- Oracle - SQL学习笔记 1
- Oracle-学习笔记(==》集合函数与分组四)
- oracle 11g 学习笔记 10_27
- ORACLE MODEL子句学习笔记
- 24.Oracle深度学习笔记——使用存储提纲
- Oracle 备份与恢复学习笔记(1)
- Oracle 备份与恢复学习笔记(13)
- 【数据库学习笔记】Oracle_01_sql*plus,存储结构,用户管理,常用数据类型
- oracle 11g 学习笔记 10_29
- Oracle SQL Plus Tutorial 学习笔记