标识符表达式
📄字数 750
👁️阅读量 加载中...
概述
标识符表达式用于引用数据库中的表、列、别名等对象,是SQL表达式中变量部分的核心组成。
支持的标识符类型
类型 | 说明 | 示例 |
---|---|---|
列名 | 最常见的标识符表达式 | name |
表名.列名 | 使用表名限定列名,避免多表查询中的歧义 | employee.name |
模式名.表名 | 使用模式名限定表名,避免多表查询中的歧义 | sysdba.employee |
别名 | 表或字段的别名 | employee.name AS ep_nm |
示例
sql
-- 建表
SQL> CREATE TABLE department (
id INT PRIMARY KEY,
name VARCHAR(50)
);
-- 建表
SQL> CREATE TABLE employee (
id INT PRIMARY KEY,
name VARCHAR(50),
dept_id INT,
salary INT
);
-- 插入数据
SQL> INSERT INTO department VALUES
(1, 'HR'),
(2, 'Engineering');
SQL> INSERT INTO employee VALUES
(1, 'Alice', 2, 8000),
(2, 'Bob', 2, 12000),
(3, 'Eve', 1, 6000);
-- 使用标识符表达式进行查询
SQL> SELECT
name, -- 列名
employee.name, -- 表名.列名
sysdba.department.name AS dept_name, -- 模式名.表名.列名
employee.salary AS emp_salary -- 列别名
FROM
sysdba.employee -- 模式名.表名
JOIN
sysdba.department
ON
employee.dept_id = department.id;
+-------+-------+-------------+------------+
| NAME | NAME | DEPT_NAME | EMP_SALARY |
+-------+-------+-------------+------------+
| Alice | Alice | Engineering | 8000 |
| Bob | Bob | Engineering | 12000 |
| Eve | Eve | HR | 6000 |
+-------+-------+-------------+------------+
应用场景
- 场景一:SELECT后直接引用列名,查询列字段
- 场景二:用AS或空格方式设置临时列名,对列进行重命名(别名)
- 场景三:给表设置临时名用于简化引用