MySQL - Alias别名

MySQL - Alias别名 首页 / MySQL入门教程 / MySQL - Alias别名

MySQL中的别名用于为特定查询的表或表中的列提供临时名称,它用作表示表或列名称的昵称。

当表或列名不是实时的用户友好时,这将非常有用。它使列的名称更具可读性。 MySQL别名只能存在于查询中。

以下是MySQL中使用的别名的基本语法:

对于列

SELECT col_name AS alias_name FROM table_name;

用于表

SELECT col_name1, col_name2,... FROM table_name AS alias_name;

下表详细说明了参数:

参数说明
col_name这是要创建别名的列名。
table_name这是要创建别名的表名。
alias_name这是要为列或表分配的临时名称。
AS 这是可选的。如果未指定,则对查询执行没有影响。程序员选择他们在列名的别名期间使用它,而不在表名中使用别名。

如果您想给别名加上空格,则必须将其用引号引起来。通常最好在列名(而不是表名)中使用别名作为空格。以下语法对其进行了更清晰的说明:

SELECT col_name AS 'alias_name' FROM table_name;

现在,无涯教程将了解别名在MySQL中是如何工作的。首先使用以下查询创建一个名为" Student_info "的表:

CREATE TABLE Student_info(
  stud_id int PRIMARY KEY NOT NULL,
  stud_code varchar(15),
  stud_name varchar(35),
  subject varchar(25),
  marks int
);

创建表后,需要插入一条记录。假设此表包含以下数据:

MySQL Alias

如果要使用'Roll No'作为别名从上表中获取 stud_code ,请执行以下语句:

mysql> SELECT stud_code AS Roll_No FROM Student_info;

它将返回如下输出:

MySQL Alias

同样,如果想使用" Roll No"来获取stud_code,请执行以下语句:

mysql> SELECT stud_code AS 'Roll No', marks AS scores FROM Student_info;

它将返回如下输出:

MySQL Alias

这是另一个示例,该示例将返回分数大于70的Student Name Subject

mysql> SELECT stud_name AS 'Student Name', subject AS 'Subject', marks
FROM Student_info  
HAVING marks > 70
ORDER BY stud_name;

成功执行后,无涯教程可以看到结果集仅包含标记大于70的那些记录。

MySQL Alias

表别名

它允许用不同的名称指定表名称。通常,表别名用于多个表,并使用 JOIN 操作将它们连接起来。

假设的数据库有一个名为" Students"的表,其中包含以下数据:

MySQL Alias

该语句将使用表别名返回记录:

mysql> SELECT Student_details.stud_name, Student_details.phone, Student_details.marks 
FROM Students AS Student_details;

它将给出以下输出:

MySQL Alias

让无涯教程看另一个示例,以了解使用JOIN操作的表别名。假设数据库还有一个名为" Student_detail "的表,其中包含以下数据:

MySQL Alias

在这两个表中,可以看到它们包含相同的一列" stud_code"。如果不使用表别名而使用它,则会出现一个错误,该错误表示:一个子句中的列" stud_code"不明确。

因此,如果要避免此类错误,请使用表别名概念。该语句更清楚地说明了这一点:

mysql> SELECT stud_name, branch, grade, phone
FROM Students AS S
INNER JOIN Student_detail AS D
ON S.stud_code=D.stud_code
ORDER BY grade;

成功执行以上语句后,无涯教程将获得以下输出:

MySQL Alias

如果您不想在查询中使用别名概念,则MySQL使用表名来标识列名。此过程使语句冗长且可读性较差,如下所示:

mysql> SELECT stud_name, branch, grade, phone
FROM Students INNER JOIN Student_detail 
ON Students.stud_code=Student_detail.stud_code
ORDER BY grade;

祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)

技术教程推荐

邱岳的产品手记 -〔邱岳〕

Nginx核心知识150讲 -〔陶辉〕

数据分析实战45讲 -〔陈旸〕

Service Mesh实战 -〔马若飞〕

打造爆款短视频 -〔周维〕

Spark性能调优实战 -〔吴磊〕

现代React Web开发实战 -〔宋一玮〕

现代C++20实战高手课 -〔卢誉声〕

结构会议力 -〔李忠秋〕

好记忆不如烂笔头。留下您的足迹吧 :)