在SQL语言提到过select查询语句,那仅仅是针对单表而言,现在我们需要更深入了解ORACLE的查询。先前有总结一篇基础查询,但不全面,最近总结了SQL查询,因此再将ORACLE的相关查询语法进行。
有单表肯定就会有多表。以下是多表查询的相关知识概念
- 笛卡尔集 笛卡尔集会在下面条件下产生:省略连接条件连接条件无效。所有表中的所有行互相连 接。总而言之就是没有加过滤条件 产生笛卡尔集
select employees.employee_id.employess.department_id,departments.department_name
from employees,department;
为了避免笛卡尔集, 可以在 WHERE 加入有效的连接条件。Oracle 连接。使用连接在多个表中查询数据。具体操作 :在 WHERE 子句中写入连接条件。在表中有相同列时,在列名之前加上表名前缀
select employees.employee_id,departments.department_id
from employees,department;
Where employess.department_id=departments.department_id
为了避免查询中查询列名的繁琐,混淆。我们使用别名 使用别名可以简化查询。使用表名前缀可以提高执行效率。
Eg:查询所有学生的Sno、Cname和Degree列。
连接多个表:连接 n个表,至少需要 n-1个连接条件。 例如:连接三个表,至少需要两个连接条件。
<