Oracle vs MySQL vs MS SQL Server: 컬럼 별칭 사용 비교

SeongGyun Hong·2025년 3월 29일

SQL

목록 보기
51/51

https://school.programmers.co.kr/learn/courses/30/lessons/59409?language=oracle

항목OracleMySQLMS SQL Server
컬럼 별칭 (AS) 사용법큰따옴표("별칭") 사용작은따옴표('별칭') 사용 가능, 그러나 관례적으로 안 씀대괄호([별칭]) 또는 큰따옴표("별칭") 사용
공백 포함된 별칭큰따옴표 필수 ("중성화 여부")백틱(``중성화 여부`) 또는 큰따옴표("중성화 여부") 사용 가능대괄호 ([중성화 여부]) 또는 큰따옴표 사용 가능

각 DBMS별 올바른 SQL 코드

🔹 Oracle (올바른 문법)

SELECT
    ANIMAL_ID,
    NAME,
    CASE
        WHEN (SEX_UPON_INTAKE LIKE 'Neutered%') OR (SEX_UPON_INTAKE LIKE 'Spayed%') THEN 'O'
        ELSE 'X'
    END AS "중성화"
FROM ANIMAL_INS
ORDER BY ANIMAL_ID;

"중성화": 큰따옴표 필수


🔹 MySQL (올바른 문법)

SELECT
    ANIMAL_ID,
    NAME,
    CASE
        WHEN (SEX_UPON_INTAKE LIKE 'Neutered%') OR (SEX_UPON_INTAKE LIKE 'Spayed%') THEN 'O'
        ELSE 'X'
    END AS 중성화
FROM ANIMAL_INS
ORDER BY ANIMAL_ID;

AS 중성화: 따옴표 없이 사용 가능

🔹 MySQL에서 공백 포함된 별칭을 사용할 경우

SELECT
    ANIMAL_ID,
    NAME,
    CASE
        WHEN (SEX_UPON_INTAKE LIKE 'Neutered%') OR (SEX_UPON_INTAKE LIKE 'Spayed%') THEN 'O'
        ELSE 'X'
    END AS `중성화 여부`
FROM ANIMAL_INS
ORDER BY ANIMAL_ID;

백틱(``별칭`) 사용 가능


🔹 MS SQL Server (올바른 문법)

SELECT
    ANIMAL_ID,
    NAME,
    CASE
        WHEN (SEX_UPON_INTAKE LIKE 'Neutered%') OR (SEX_UPON_INTAKE LIKE 'Spayed%') THEN 'O'
        ELSE 'X'
    END AS 중성화
FROM ANIMAL_INS
ORDER BY ANIMAL_ID;

AS 중성화: 따옴표 없이 사용 가능

🔹 공백 포함된 별칭을 사용할 경우

SELECT
    ANIMAL_ID,
    NAME,
    CASE
        WHEN (SEX_UPON_INTAKE LIKE 'Neutered%') OR (SEX_UPON_INTAKE LIKE 'Spayed%') THEN 'O'
        ELSE 'X'
    END AS [중성화 여부]
FROM ANIMAL_INS
ORDER BY ANIMAL_ID;

대괄호([별칭]) 사용 가능 물론 "" 큰 따옴표도 가능


정리

  • Oracle: 컬럼 별칭에 큰따옴표("중성화") 사용 필수
  • MySQL: 별칭에 따옴표 없이 사용 가능, 공백 포함 시 백틱(중성화 여부) 사용 가능
  • MS SQL Server: 별칭에 따옴표 없이 사용 가능, 공백 포함 시 대괄호([중성화 여부]) 사용 가능
  • 참고로 ORDER BY 컬럼 번호 (ORDER BY 1)는 모든 DBMS에서 가능하지만, 컬럼명을 명시하는 것이 가독성 면에서 추천됨
profile
헤매는 만큼 자기 땅이다.

0개의 댓글