SQL 使用列别名进行选择
示例
列别名主要用于缩短代码并使列名称更易读。
可以避免使用较长的表名和不必要的列标识(例如,表中可能有2个ID,但在语句中仅使用1ID),从而使代码变得更短。与表别名一起使用,这使您可以在数据库结构中使用更长的描述性名称,同时保持对该结构的查询简洁。
此外,有时需要它们(例如在视图中),以便命名计算的输出。
所有版本的SQL
可以在所有SQL版本中使用双引号(")创建别名。
SELECT
FName AS "First Name",
MName AS "Middle Name",
LName AS "Last Name"
FROM Employees不同版本的SQL
您可以使用单引号('),双引号(")和方括号([])在MicrosoftSQLServer中创建别名。
SELECT
FName AS "First Name",
MName AS 'Middle Name',
LName AS [Last Name]
FROM Employees两者都会导致:
该语句将返回FName和LName具有给定名称(别名)的列。这可以通过使用AS运算符后跟别名,或者直接在列名后直接写入别名来实现。这意味着以下查询具有与上面相同的结果。
SELECT
FName "First Name",
MName "Middle Name",
LName "Last Name"
FROM Employees但是,显式版本(即使用AS运算符)更具可读性。
如果别名中有一个不是保留字的单词,我们可以将其写为不带单引号,双引号或方括号:
SELECT
FName AS FirstName,
LName AS LastName
FROM Employees例如,MSSQLServer中的另一个可用变化是<alias>=<column-or-calculation>:
SELECT FullName = FirstName + ' ' + LastName,
Addr1 = FullStreetAddress,
Addr2 = TownName
FROM CustomerDetails等效于:
SELECT FirstName + ' ' + LastName As FullName
FullStreetAddress As Addr1,
TownName As Addr2
FROM CustomerDetails两者都会导致:
有些人发现使用=而不是As更易于阅读,尽管许多人反对这种格式,这主要是因为它不是标准的,因此并非所有数据库都广泛支持。它可能会与=角色的其他用途混淆。
所有版本的SQL
另外,如果您需要使用保留字,则可以使用方括号或引号进行转义:
SELECT
FName as "SELECT",
MName as "FROM",
LName as "WHERE"
FROM Employees不同版本的SQL
同样,您可以使用所有不同的方法来在MSSQL中转义关键字:
SELECT
FName AS "SELECT",
MName AS 'FROM',
LName AS [WHERE]
FROM Employees同样,列别名可以用于同一查询的任何最终子句,例如ORDERBY:
SELECT
FName AS FirstName,
LName AS LastName
FROM
Employees
ORDER BY
LastName DESC但是,您可能无法使用
SELECT
FName AS SELECT,
LName AS FROM
FROM
Employees
ORDER BY
LastName DESC根据这些保留字(SELECT和FROM)创建别名。
这将在执行时引起许多错误。
热门推荐
10 小红书平安祝福语简短
11 生日祝福语大全女孩简短
12 收生日红包祝福语 简短
13 领证幽默祝福语简短
14 法考面试祝福语简短
15 老哥出门祝福语简短语
16 送灯祝福语简短独特
17 幼儿狗年祝福语大全简短
18 好听的元旦简短祝福语