SQL 面试题 目录

SQL 中如何创建临时表?

推荐答案

在 SQL 中,可以使用 CREATE TEMPORARY TABLE 语句来创建临时表。临时表仅在当前会话中存在,会话结束后会自动删除。

例如,创建一个名为 temp_employees 的临时表:

本题详细解读

临时表的特点

  1. 会话级别:临时表仅在创建它的数据库会话中存在。当会话结束时,临时表会自动删除。
  2. 数据隔离:不同会话中的临时表是相互隔离的,即使表名相同,也不会互相影响。
  3. 性能优化:临时表通常用于存储中间结果,避免对主表进行频繁操作,从而提高查询性能。

创建临时表的语法

  • table_name:临时表的名称。
  • column1, column2, ...:表的列名。
  • datatype:列的数据类型。
  • constraints:可选的列约束,如 PRIMARY KEY, NOT NULL 等。

示例

假设我们有一个 employees 表,我们想创建一个临时表来存储某个部门的员工信息:

这个临时表 temp_dept_employees 将包含 department_id 为 10 的所有员工的 id, name, 和 salary 信息。

注意事项

  1. 命名冲突:临时表与普通表的名称可以相同,但在同一会话中,临时表会优先于普通表。
  2. 自动删除:临时表在会话结束时自动删除,因此不需要显式地删除它们。
  3. 事务处理:临时表的行为与普通表类似,可以在事务中使用,但事务回滚不会影响临时表的数据。
纠错
反馈