ORACLE 第4节 多表查询
来源:互联网 发布:mac itunes 怎么登陆 编辑:程序博客网 时间:2024/05/19 18:39
学习目标:
Oracle连接
等值连接:
使用连接在多个表中查询数据。
SELECT table1.column, table2.column
FROM table1, table2
WHERE table1.column1= table2.column2;
from employees e,departments d
where e.department_id = d.department_id
from employees e,departments d,locations l
where e.department_id = d.department_id and
d.location_id = l.location_id
from employees emp,employees manager
where emp.manager_id = manager.employee_id and emp.last_name = 'Chen'
from employees e,job_grades j
where e.salary between j.lowest_sal and j.highest_sal
内连接和外连接:
--左外连接
select e.employee_id,e.last_name,d.department_name
from employees e,departments d
where e.department_id = d.department_id(+)
--右外连接
select e.employee_id,e.last_name,d.department_name
from employees e,departments d
where e.department_id(+) = d.department_id
使用SQL: 1999语法连接:
使用连接从多个表中查询数据:
SELECT table1.column, table2.column
FROM table1
[CROSS JOINtable2] |
[NATURAL JOINtable2] |
[JOINtable2 USING(column_name)] |
[JOINtable2 ON(table1.column_name = table2.column_name)] |
[LEFT|RIGHT|FULL OUTER JOINtable2 ON(table1.column_name =table2.column_name)];
自然连接:
•NATURALJOIN 子句,会以两个表中具有相同名字的列为条件创建等值连接。
•在表中查询满足等值条件的数据。
如果只是列名相同而数据类型不同,则会产生错误。
select e.employee_id,e.last_name,d.department_name
from employees e natural join departments d
使用USING子句创建连接:
JOIN和USING子句经常同时使用。
select e.employee_id,e.last_name,d.department_name
from employees e join departments d
using(department_id)
这种方法有局限性:如果两个表中的列名(一个叫department_id,另外一个叫id)不一样,这个方法就失效了。
使用ON子句创建连接(常用):
select e.employee_id,e.last_name,d.department_name
from employees e
join departments d
on e.department_id = d.department_id
这个和等值连接是很相似的
左外连接
select e.employee_id,e.last_name,d.department_name
from employees e
left outer join departments d
on e.department_id = d.department_id
from employees e
right outer join departments d
on e.department_id = d.department_id
满外连接
select e.employee_id,e.last_name,d.department_name
from employees e
full outer join departments d
on e.department_id = d.department_id
- ORACLE 第4节 多表查询
- 【Oracle练习】④第5章 多表查询
- Oracle多表查询
- Oracle多表查询
- Oracle多表查询
- Oracle多表查询
- oracle多表查询
- Oracle:多表查询
- oracle多表查询
- Oracle多表查询
- Oracle多表查询
- oracle 多表查询
- oracle 多表查询
- Oracle 多表查询
- oracle多表查询
- oracle多表查询
- oracle多表查询
- oracle 多表查询
- 九度oj 1041
- zoj 3201 Tree of Tree 树形dp基础题——树形背包
- 创业之前你需要了解的九个真相
- 黑马程序员------OC中计算NSString 字符串的长度
- Java NIO系列教程(一) Java NIO 概述
- ORACLE 第4节 多表查询
- 基于Qt的连连看小游戏
- NZND-第四天
- 笨笨熊搬家——交通(java)
- 求一个数阶乘的位数
- 庖丁解羊----划分
- c++ public, protected, private成员变量,成员函数继承和访问规则实例代码
- handle()
- 自然数和分解