SQL create table as select
SQL是结构化查询语言(Structured Query Language)的缩写,是一种用于管理和操作关系型数据库的标准化语言。在SQL中,”create table as select”是一种用于创建新表并从现有表中选择数据填充新表的方法。本文将详细解释”create table as select”的用法,并给出示例代码及结果。
1. 创建表并选择数据(create table as select)
“create table as select”语句允许我们创建一个新的表,并从现有表中选择数据填充新表。语法如下:
CREATE TABLE new_table AS
SELECT column1, column2, ...
FROM existing_table
[WHERE condition];
其中,new_table
是要创建的新表的名称,existing_table
是现有表的名称,column1
, column2
, …是要选择的列名,WHERE condition
是可选的条件用于筛选数据。
2. 示例代码及运行结果
假设我们有一个名为employees
的表,包含以下字段:
employee_id | first_name | last_name | department | salary |
---|---|---|---|---|
1 | John | Doe | HR | 5000 |
2 | Jane | Smith | IT | 6000 |
3 | David | Johnson | Finance | 5500 |
4 | Emily | Brown | HR | 4500 |
5 | Michael | Lee | Marketing | 7000 |
现在我们想要创建一个名为hr_employees
的新表,其中仅包含department
为’HR’的员工信息。我们可以使用以下代码:
CREATE TABLE hr_employees AS
SELECT employee_id, first_name, last_name, salary
FROM employees
WHERE department = 'HR';
执行上述代码后,将会创建一个名为hr_employees
的新表,并从employees
表中选择department
为’HR’的员工信息填充新表。
运行结果:
employee_id | first_name | last_name | salary |
---|---|---|---|
1 | John | Doe | 5000 |
4 | Emily | Brown | 4500 |
新表hr_employees
中仅包含两个字段employee_id
, first_name
, last_name
, salary
的数据,这些数据是从employees
表中满足条件department = 'HR'
的员工信息选择而来。
3. 总结
“create table as select”是一种创建新表并从现有表中选择数据填充新表的SQL语句。它有助于提取并保存满足特定条件的记录,使得数据查询更加灵活和高效。在使用时,需要确保选择的列和数据类型与原始表相匹配。