Oracle两个表合并建立新表(oracle两个表建新表)
Oracle两个表合并建立新表
在Oracle数据库中,如果需要将两个不同的表进行合并并建立新表,可以使用“CREATE TABLE AS SELECT”语句完成此操作。在此语句中,第一个“AS”表示将结果命名为新表的名称,第二个“AS”表示是一个查询语句。
例如,假设存在以下两个表:
表1:employees
| id | name | age | salary |
|—-|——–|—–|——–|
| 1 | Alice | 25 | 3000 |
| 2 | Bob | 30 | 4000 |
| 3 | Charlie| 35 | 5000 |
表2:departments
| id | department_name |
|—-|—————-|
| 1 | HR |
| 2 | Engineering |
| 3 | Finance |
在此情况下,我们可以通过以下步骤将这两个表合并并建立新表:
1. 使用SELECT语句从两个表中选择要合并的列,并将它们连接起来。例如:
SELECT employees.id, employees.name, employees.age, employees.salary, departments.department_name
FROM employeesINNER JOIN departments ON employees.id = departments.id
在此例中,我们从两个表中选择了“id”、“name”、“age”、“salary”和“department_name”列,并使用“INNER JOIN”连接了它们。注意,这里使用了一个“ON”子句,它将employees表和departments表连接到一个共同的列“id”上。
2. 使用“CREATE TABLE AS SELECT”语句将结果保存到新表中。例如:
CREATE TABLE employees_departments AS
SELECT employees.id, employees.name, employees.age, employees.salary, departments.department_nameFROM employees
INNER JOIN departments ON employees.id = departments.id
在此例中,我们将结果保存到名为“employees_departments”的新表中。
3. 可以通过SELECT语句从新表中查看结果。例如:
SELECT * FROM employees_departments
这将返回以下结果:
| id | name | age | salary | department_name |
|—-|——–|—–|——–|—————-|
| 1 | Alice | 25 | 3000 | HR |
| 2 | Bob | 30 | 4000 | Engineering |
| 3 | Charlie| 35 | 5000 | Finance |
通过以上步骤,我们已经将两个表合并并建立了新表。通过这种方式,可以根据需要将多个表合并,并获取所需的结果。