SQLDSQL 기본ALIAS난이도 2MCQ

SQLD ALIAS 기출문제 #3636

문제

로그인 이력 테이블에서 사용자별 로그인 횟수를 집계하는 SQL에 대한 설명으로 적절하지 않은 것은?

SQL
SELECT USER_ID AS ALIAS1, LOGIN_DATE AS ALIAS2, COUNT(*) AS LOGIN_CNT FROM LOGIN_HISTORY GROUP BY USER_ID, LOGIN_DATE ORDER BY ALIAS1, ALIAS2;

① 한 사용자가 5일간 하루 3회씩 로그인했다면 전체 로그인 이력은 15건이다. ② Oracle에서 SELECT 절의 별칭을 ORDER BY 절에서 사용할 수 있다. ③ ORDER BY ALIAS1, ALIAS2는 ALIAS1 기준으로 먼저 정렬한 뒤 ALIAS2 기준으로 정렬한다. ④ WHERE 절에서도 SELECT 절에서 정의한 ALIAS1을 항상 그대로 사용할 수 있다.

정답

4

해설

정답: 4. SELECT 절에서 정의한 별칭은 일반적으로 WHERE 절에서 사용할 수 없다.

오답 풀이

  • 1번: 5일 × 하루 3회 = 15건이므로 타당하다.
  • 2번: Oracle에서 ORDER BY 절은 SELECT 별칭을 사용할 수 있다.
  • 3번: ORDER BY에 여러 기준을 쓰면 앞 기준부터 차례대로 정렬한다.
  • 4번: WHERE 절은 SELECT 절보다 논리적으로 먼저 처리되므로 SELECT 별칭을 일반적으로 사용할 수 없다.

보충 개념 SQL 논리 처리 순서상 WHERE는 SELECT보다 먼저 평가된다. 반면 ORDER BY는 SELECT 이후 결과를 정렬하므로 SELECT 절의 별칭을 사용할 수 있다.

SQLD 시험 준비 가이드

이런 문제 20~50개를 한 번에 풀어보세요

매번 새로 추가되는 모의고사 + 오답 자동 복습 + 회차별 실력 추적. 회원가입 후 무료 이용.

[SQLD] ALIAS SQL 기본 기출 #3636 | 문어CBT