金沙注册网站-新金沙官网 计算机数据 ORACLE的外连接,DQL之连接查询

ORACLE的外连接,DQL之连接查询



问:

又称多表查询,当查询的字段来自于多个表时,就会用到连接查询。

ORACLE 中 外连接 是什么意思?

2.1、按年代分类:

sql92标准:仅仅支持内连接

sql99标准:支持内连接+外连接+交叉连接

刚看了个教程还是不太明白 SELECT e.last_name, e.department_id,
d.department_name FROM employees e, departments d WHERE
e.department_id=d.department_id(+);

2.2、按功能分类:

内连接:等值连接、非等值连接、自连接

外连接:左外连接、右外连接、全外连接

交叉连接

结果为:所有员工及对应部门的记录,包括没有对应部门编号department_id的员工记录。

3.1、等值连接:

① 多表等值连接的结果为多表的交集部分

②n表连接,至少需要n-1个连接条件

新金沙官网,③ 多表的顺序没有要求

④一般需要为表起别名

⑤可以搭配前面介绍的所有子句使用,比如排序、分组、筛选

简单查询

案例:查询员工名和对应的部门名

SELECT last_name,department_name FROM employees,departments WHERE
employees.`department_id`=departments.`department_id`;

新金沙官网 1

为表起别名

①提高语句的简洁度

②区分多个重名的字段

注意:如果为表起了别名,则查询的字段就不能使用原来的表名去限定

案例:查询员工名、工种号、工种名

SELECT e.last_name,e.job_id,j.job_title FROM employees e,jobs j WHERE
e.`job_id`=j.`job_id`;

新金沙官网 2

两个表的顺序可以调换

可以加筛选

案例:查询有奖金的员工名、部门名

SELECT last_name,department_name,commission_pct FROM employees
e,departments d WHERE e.`department_id`=d.`department_id` AND
e.`commission_pct` IS NOT NULL;

新金沙官网 3

可以加分组

案例:查询每个城市的部门个数

SELECT COUNT 个数,city FROM departments d,locations l WHERE
d.`location_id`=l.`location_id` GROUP BY city;

新金沙官网 4

可以加排序

案例:查询每个工种的工种名和员工的个数,并且按员工个数降序

SELECT job_title,COUNT FROM employees e,jobs j WHERE
e.`job_id`=j.`job_id` GROUP BY job_title ORDER BY COUNT DESC;

新金沙官网 5

可以实现三表连接

SELECT last_name,department_name,city FROM employees e,departments
d,locations l WHERE e.`department_id`=d.`department_id` AND
d.`location_id`=l.`location_id` ORDER BY department_name DESC;

新金沙官网 6

疑问:从数据库中取出的是怎么样的?

3.2、非等值连接

SELECT salary,grade_level FROM employees e,job_grades g WHERE salary
BETWEEN g.`lowest_sal` AND g.`highest_sal`;

新金沙官网 7

是不是employees 表中所有员工都取出,如:e.last_name,
e.department_id全部都取出而
department表中只取employees中员工对应的d.department_name

3.3、自连接

案例:查询员工名和上级的名称

SELECT e.employee_id,e.last_name,m.employee_id,m.last_name FROM
employees e,employees m WHERE e.`manager_id`=m.`employee_id`;

新金沙官网 8

??

4.1、语法:

select 查询列表 from 表1 别名 join 表2 别名 on 连接条件【where
筛选条件】【group by 分组】【having 筛选条件】【order by 排序列表】

相关文章

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图