테이블명 alias.""의 ""의미 0 4 1,813

by 쿼리어려워 [Oracle 기초] [2022.11.10 09:47:48]


안녕하세요

선배님들이 짠 쿼리를 보다보니 궁금증이 생겨서 여쭙니다.

SELECT TB1."VV1", TB2."VV2"
FROM TEMP_TABLE TB1
LEFT OUTER JOIN TEMP_TABLE TB2
ON TB1.VV = TB2.VVV

예를 들어 저런 쿼리인데 

TB1."AA" <- 여기서 ""에 의미가 뭔지 모르겟습니다.

TEMP_TABLE 안에는 VV1이나 VV2라는 컬럼은 없습니다..

""안에 들어가면 ALIAS로 나오게 되는건가요?

by 마농 [2022.11.10 09:57:53]

테이블명이나 컬럼명에 따옴표를 붙여도 상관이 없습니다.
명칭이 소문자나 특수문자를 포함하는 경우에는 따옴표를 반드시 붙여줘야 합니다.
VV1 이 TEMP_TABLE 에 없는 컬럼이라면? 에러가 날텐데요?


by 쿼리어려워 [2022.11.10 10:18:46]

답변 정말 감사합니다. 마농님!!

쿼리를 다시 확인해보니 제가 제대로 못본것같습니다. 위에 쿼리문은 제가 예시용으로 작성한거라서요.. 확인해보니 ALIAS로 VV1이 적혀있네요..

ALIAS를 확인해보니 소문자나 특수문자가 없는데도 큰따옴표가 붙어있다는 것은 작성자가 그냥 붙여둔걸로 생각해도 될까요?


by 마농 [2022.11.10 10:32:44]

모든 명칭에 따옴표 사용 가능합니다.
테이블명, 컬럴명, 알리아스명, 유저명, 기타 등등
오라클의 모든 명칭은 대문자가 기본입니다.
소문자를 써도 대문자로 인식합니다.
다만 아예 소문자로 만들어진 명칭이라면 반드시 따옴표를 사용해야 합니다.
명명규칙에 위배되는 명칭도 따옴표를 사용해야 합니다.
명명규칙은 반드시 대문자로 시작하여야 하며 숫자와 #$_ 등 포함 가능

-- 예시 --
SELECT v        -- 정상
     , V        -- 정상
     , "V"      -- 정상
--   , "v"      -- 오류
--   , x        -- 오류
--   , X        -- 오류
     , "x"      -- 정상
--   , "X"      -- 오류
     , a.v      -- 정상
     , "A"."V"  -- 정상
--   , "a"."v"  -- 오류
--   , a.x      -- 오류
     , "A"."x"  -- 정상
--   , "A"."X"  -- 오류
  FROM (SELECT 1 v, 2 "x" FROM dual) a
;

 


by 쿼리어려워 [2022.11.10 12:03:01]

직접 예시까지 작성해주셔서 정말 감사합니다ㅠㅠ

단번에 이해가 됐습니다!!

항상 도움만 받아 죄송하네요 마농님 하시는 일 전부 잘되시길 바랄께요!!

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입