Oracle中实现两张表连接的简单方式

在Oracle中,实现两张表连接的简单方式主要有两种:内连接(INNER JOIN)和外连接(OUTER JOIN),下面分别介绍这两种连接方式。

Oracle中实现两张表连接的简单方式
(图片来源网络,侵删)

1. 内连接(INNER JOIN)

内连接是最常用的连接方式,它返回两个表中满足连接条件的记录,如果某个表中的某条记录在另一个表中没有对应的记录,那么这条记录不会出现在结果集中。

示例代码

假设有两个表,一个是employees表,另一个是departments表,我们想要查询员工的姓名和他们所在的部门名称,可以使用以下SQL语句实现内连接:

SELECT employees.name, departments.department_name
FROM employees
INNER JOIN departments ON employees.department_id = departments.department_id;

单元表格

字段名 类型 描述
name VARCHAR2(50) 员工姓名
department_name VARCHAR2(50) 部门名称
department_id NUMBER 部门ID

2. 外连接(OUTER JOIN)

外连接可以返回两个表中的所有记录,即使某个表中的某条记录在另一个表中没有对应的记录,对于左外连接(LEFT OUTER JOIN),返回左表中的所有记录以及右表中满足连接条件的记录;对于右外连接(RIGHT OUTER JOIN),返回右表中的所有记录以及左表中满足连接条件的记录;对于全外连接(FULL OUTER JOIN),返回两个表中的所有记录,如果某个表中的某条记录在另一个表中没有对应的记录,则用NULL填充。

示例代码

假设有一个employees表和一个departments表,我们想要查询员工的姓名和他们所在的部门名称,如果没有部门信息,则显示"无部门信息",可以使用以下SQL语句实现左外连接:

SELECT employees.name, COALESCE(departments.department_name, '无部门信息') AS department_name
FROM employees
LEFT OUTER JOIN departments ON employees.department_id = departments.department_id;

单元表格

字段名 类型 描述
name VARCHAR2(50) 员工姓名
department_name VARCHAR2(50) 部门名称
department_id NUMBER 部门ID

原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/519460.html

(0)
未希新媒体运营
上一篇 2024-04-25 15:57
下一篇 2024-04-25 15:59

相关推荐

发表回复

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

云产品限时秒杀。精选云产品高防服务器,20M大带宽限量抢购  >>点击进入