본문 바로가기

DBMS/SQL Server

[SQL Server] where 절에서는 별칭(alias)을 사용할 수 없다.

 

where 절에서는 별칭(alias)을 사용할 수 없다.

하지만 order by 절에서는 별칭뿐 아니라 컬럼의 순서에 해당하는 숫자도 사용할 수 있다.

 

 CREATE TABLE dbo.ALIAS_TEST (

    NUM    INT    IDENTITY(1,1)

  , NAME   CHAR(6)

 )

 

 INSERT INTO dbo.ALIAS_TEST VALUES ('BANANA')

 INSERT INTO dbo.ALIAS_TEST VALUES ('ORANGE')

 INSERT INTO dbo.ALIAS_TEST VALUES ('APPLE')

 

 -- 별칭을 사용하면 열 이름이 잘못 되었다는 오류 발생

 SELECT NUM, NAME AS N FROM dbo.ALIAS_TEST

 WHERE N = 'BANANA'

 

 -- 검색 가능

 SELECT NUM, NAME AS N FROM dbo.ALIAS_TEST

 WHERE NAME = 'BANANA'

 

 -- ORDER BY 절에서는 별칭 사용 가능

 SELECT NUM, NAME AS N FROM dbo.ALIAS_TEST

 ORDER BY N

 

 -- ORDER BY 절은 컬럼의 순서에 해당하는 숫자도 사용 가능

 SELECT NUM, NAME AS N FROM dbo.ALIAS_TEST

 ORDER BY 2