1. ORDER BY 절에 칼럼(Column)명 대신에 SELECT 절에서 사용한 ALIAS 명이나 칼럼 순서를 나타내는 정수도 사용 가능 하다.
2. ASC(Ascending) : 조회한 데이터를 오름차순으로 정렬(기본 DEFAULT:생략가능) 😂
DESC(Descending): 조회한 데이터를 내림차순으로 정렬
SELECT PLAYER_NAME 선수명,
POSITION 포지션,
BACK_NO 백넘버
FROM PLAYER
ORDER BY 포지션 ASC; --(이름으로 내림차순정렬)
--ORDER BY 2
--ORDER BY POSITION
3. SQL 문장의 제일 마지막*에 위치한다.
4. ???
Case3. 칼럼 순서번호 + ALIAS 명 사용 ORDER BY 절 사용
SELECT DNAME
, LOC AREA
, DEPTNO
FROM DEPT
ORDER BY 1, AREA, 3 DESC;
5. SELECT 문장 실행 순서
*GROUP BY 절과 ORDER BY가 같이 사용될 때
SELECT 문장은 6개의 절로 구성
1. FROM 테이블명
2. WHERE 조건식
3. GROUP BY 칼럼(Column)이나 표현식
4. HAVING 그룹조건식
------------------------------------------------------
5. SELECT 칼럼명 [ALIAS명]
6. ORDER BY 칼럼(Column)이나 표현식;
🙄
3. 행들을 소그룹화 한다. (GROUP BY)
4. 그룹핑된 값의 조건에 맞는 것만을 출력한다. (HAVING)
6. 데이터를 정렬한다. (ORDER BY)
🙄
*ORDER BY 절에는 SELECT 목록에 나타나지 않은 문자형 항목이 포함될 수 있다.
단, SELECT DISTINCT를 지정하거나 SQL 문장에 GROUP BY 절이 있거나 또는
SELECT 문에 UNION 연산자가 있으면 열 정의가 SELECT 목록에 표시되어야 한다.
*SELECT 절에 없는 EMP 칼럼을 ORDER BY 절에 사용
SELECT EMPNO,
ENAME
FROM EMP
ORDER BY MGR;
결과:정상출력
(SELECT 절에서 정의하지 않은 칼럼을 사용해도 문제없음)
*인라인 뷰에 정의된 SELECT 칼럼을 메인쿼리
SELECT EMPNO
FROM
(
SELECT EMPNO,
ENAME
FROM EMP
ORDER BY MGR 🙄ORDER BY는 메인 SELECT에서만 사용되는게 아닌가봐??? 으쨋든간에 쿼리 제일 마지막에 위치하기만하면 되는듯??
);
결과:14개의 행이 선택되었다.
(인라인 뷰의 SELECT 절에서 정의한 칼럼은 메인쿼리에서도 사용할 수 있음)
*인라인 뷰에 미정의된 칼럼을 메인쿼리에서 사용해본다.
SELECT MGR
FROM
(
SELECT EMPNO
, ENAME
FROM EMP
ORDER BY MGR 🙄SELECT에 명시되지않은 컬럼은 사용해도 되지만, 남의껀 사용 못하나봐??
)
;
결과: SELECT MGR FROM ; * ERROR: "MGR": 부적합한 식별자
*숫자로 정렬한다??
SELECT *
FROM EMP
ORDER BY 1 🙄첫번째 컬럼 기준으로 정렬하겠다는 뜻인데... 권장하진 않아요.
댓글
댓글 쓰기