Sql server 2005 SQL Server中的别名创建

Sql server 2005 SQL Server中的别名创建,sql-server-2005,column-alias,Sql Server 2005,Column Alias,如何在SQL Server中创建表中列的别名?创建别名非常简单 select somecolumn as foo from bar where foo = 5 SELECT tableColumnName as ColumnAlias FROM Table 另一件事是别名的使用,您必须记住,这些别名在投影后可用。选择此选项意味着您不能在“从”、“位置”、“分组方式”和“具有节”中使用这些别名。只允许按顺序进行 编辑:别名的使用 表: STACK - STACK_ID - STACK_N

如何在SQL Server中创建表中列的别名?

创建别名非常简单

select somecolumn as foo from bar where foo = 5
SELECT tableColumnName as ColumnAlias FROM Table
另一件事是别名的使用,您必须记住,这些别名在投影后可用。选择此选项意味着您不能在“从”、“位置”、“分组方式”和“具有节”中使用这些别名。只允许按顺序进行

编辑:别名的使用

表:

STACK 
 - STACK_ID
 - STACK_NAME
 - STACK_ORDER
 - STACK_MIN
 - STACK_MAX
错误陈述:

    SELECT 
     STACK_NAME, 
     STACK_MIN, 
     STACK_MAX, 
     STACK_MIN + STACK_MAX as STACK_SUM 
   FROM 
    STACK WHERE STACK_SUM = 10;
我们在WHERE节中使用此级别上不可用的列

要解决这个问题,我们有两个选择

选项一-我们在where语句中进行计算

    SELECT 
     STACK_NAME, 
     STACK_MIN, 
     STACK_MAX, 
     STACK_MIN + STACK_MAX as STACK_SUM 
   FROM 
    STACK WHERE STACK_MIN + STACK_MAX = 10;
选项二-我们创建一个临时表

WITH STACK_SUM_TAB AS (
 SELECT 
  STACK_NAME, 
  STACK_MIN, 
  STACK_MAX, 
  STACK_MIN + STACK_MAX as STACK_SUM 
 FROM STACK 
)

 SELECT 
  STACK_NAME, 
  STACK_MIN, 
  STACK_MAX, 
  STACK_SUM 
 FROM STACK_SUM_TAB WHERE STACK_SUM = 10;

thnks先生,您能解释一下为什么我们使用这个别名概念吗?当您有来自不同表的长列名的复杂查询时,plzAlias很有用。给它们更多有意义的名称可以提高查询的可读性。并且不需要先生。从[TableName]t中选择t.columnname作为[ColumnAliasName],其中t.columnname=[此处的条件值]
WITH STACK_SUM_TAB AS (
 SELECT 
  STACK_NAME, 
  STACK_MIN, 
  STACK_MAX, 
  STACK_MIN + STACK_MAX as STACK_SUM 
 FROM STACK 
)

 SELECT 
  STACK_NAME, 
  STACK_MIN, 
  STACK_MAX, 
  STACK_SUM 
 FROM STACK_SUM_TAB WHERE STACK_SUM = 10;