과목 II SQL 기본 및 활용
제1장 SQL 기본
제8절 ORDER BY 절
2. SELECT 문장 실행 순서
[예제] SELECT 절에 없는 EMP 칼럼을 ORDER BY 절에 사용한다.
SELECT EMPNO, ENAME FROM EMP ORDER BY MGR; |
문제가 틀렸습니다.
[SELECT 절에 없는 MGR 칼럼을 ORDER BY 절에 사용한다.] 라고 해석해야 됩니다.
EMP 는 테이블입니다.
[실행결과]
(14개 행이 영향을 받음)
[예제] 인라인 뷰에 정의된 SELECT 칼럼을 메인쿼리에서 사용한다.
SELECT EMPNO |
서브쿼리에서는 ORDER BY 를 사용하지 못합니다.
ORDER BY 절은 SELECT 절에서 오직 한 개만 올 수 있기 때문에 ORDER BY 절은 메인쿼리의 마지막 문장에 위치해야 합니다.
이 부분은 2장 4절 서브쿼리 부분에 나와있습니다.
따라서 ORDER BY 를 서브쿼리에서 빼고 메인쿼리의 마지막에 입력했습니다.
또한 서브쿼리를 A 라는 ALIAS 를 부여했습니다.
[실행결과]
(14개 행이 영향을 받음)
[예제] 인라인 뷰에 미정의된 칼럼을 메인쿼리에서 사용해본다.
SELECT MGR |
위의 예제와 마찬가지로 서브쿼리에서는 ORDER BY 를 사용하지 못합니다.
[실행결과]
메시지 207, 수준 16, 상태 1, 줄 1
열 이름 'MGR'이(가) 잘못되었습니다.
[예제] GROUP BY 절 사용시 SELECT 절에 일반 칼럼을 사용해본다.
SELECT JOB, SAL |
[실행결과]
메시지 8120, 수준 16, 상태 1, 줄 1
열 'EMP.SAL'이(가) 집계 함수나 GROUP BY 절에 없으므로 SELECT 목록에서 사용할 수 없습니다.
[예제] GROUP BY 절 사용시 ORDER BY 절에 집계 칼럼을 사용해본다.
SELECT JOB |
[실행결과]
경고: 집계 또는 다른 SET 작업에 의해 Null 값이 제거되었습니다.
(5개 행이 영향을 받음)
'SQL 전문가 가이드' 카테고리의 다른 글
EQUI JOIN (0) | 2013.11.15 |
---|---|
Top N 쿼리 (1) | 2013.10.08 |
ORDER BY 정렬 (0) | 2013.10.07 |
집계 함수와 NULL (0) | 2013.10.01 |
CASE 표현을 활용한 월별 데이터 집계 (0) | 2013.10.01 |