Mysql 简明教程
MySQL - Aliases
The MySQL Alias
MySQL 别名用于为表或 SQL 中的列分配一个临时名称,称为 Alias 。
别名使用 AS 关键字创建,用于引用特定的表或列,而无需更改其原始名称。它们用于在使用名称相似的表或列时使查询易于阅读。
Aliasing Column Names
列别名化用于为表的列分配不同的名称。
Example
首先,让我们使用以下查询创建一个名为 CUSTOMERS 的表 −
CREATE TABLE CUSTOMERS (
ID INT NOT NULL,
NAME VARCHAR (20) NOT NULL,
AGE INT NOT NULL,
ADDRESS CHAR (25),
SALARY DECIMAL (18, 2),
PRIMARY KEY (ID)
);
现在,让我们使用 INSERT INTO 语句将值插入到上面创建的表中,如下所示 −
INSERT INTO CUSTOMERS VALUES
(1, 'Ramesh', 32, 'Ahmedabad', 2000.00 ),
(2, 'Khilan', 25, 'Delhi', 1500.00 ),
(3, 'kaushik', 23, 'Kota', 2000.00 ),
(4, 'Chaitali', 25, 'Mumbai', 6500.00 ),
(5, 'Hardik', 27, 'Bhopal', 8500.00 ),
(6, 'Komal', 22, 'Hyderabad', 4500.00 ),
(7, 'Muffy', 24, 'Indore', 10000.00 );
获得的 CUSTOMERS 表如下:−
Example
在以下查询中,我们创建了两个别名,一个用于 ID 列,另一个用于 AGE 列 −
SELECT ID AS CUST_ID, AGE
AS CUST_AGE
FROM CUSTOMERS;
Aliasing Table Names
表别名用于为表分配不同的名称。
Example
让我们使用以下查询创建一个名为 ORDERS 的另一个表 −
CREATE TABLE ORDERS (
OID INT NOT NULL,
DATES DATETIME NOT NULL,
CUSTOMER_ID INT NOT NULL,
AMOUNT INT NOT NULL,
PRIMARY KEY (OID)
);
现在,让我们使用 INSERT INTO 语句将值插入到上面创建的表中,如下所示 −
INSERT INTO ORDERS VALUES
(102, '2009-10-08 00:00:00', 3, 3000),
(100, '2009-10-08 00:00:00', 3, 1500),
(101, '2009-11-20 00:00:00', 2, 1560),
(103, '2008-05-20 00:00:00', 4, 2060);
获得的 ORDERS 表如下所示 −
在以下查询中,CUSTOMERS 表的别名是“C”,而 ORDERS 表的别名是“O”−
SELECT C.ID, C.NAME, C.AGE, O.AMOUNT
FROM CUSTOMERS AS C, ORDERS AS O
WHERE C.ID = O.CUSTOMER_ID;
Aliasing with Self Join
MySQL 自连接用于将表连接到它自身,就像两个单独的表一样。自连接中的别名用于在 SQL 语句中临时重命名表以避免混淆。
Syntax
以下是使用别名执行自连接的语法:
SELECT column_name(s)
FROM my_table a, my_table b
ON a.join_column = b.join_column