- 컬럼 실행 순서 :  FROM -> WHERE -> GROUP BY -> HAVING -> SELECT -> ORDER BY

 

 

<ORDER BY>

 

 

- 정렬하여 출력하는 절

 

- 오름차순 (ASC)과 내림차순 (DESC) 이 있다.

 

- 오름차순(ASC) : 첫 번째 데이터보다 다음 데이터가 갈수록 커지는 것을 말한다.

 

- 정렬해서 출력하면 결과물은 깔끔할 수 있지만, 정렬하는 것은 힘든 작업이기 때문에 최대한 ORDER BY 절을 사용하지 않고 SQL을 작성해야 속도가 빨라진다.

 

* 최대한 사용하지 않는 것이 좋다.

 

 

 

<GROUP BY>

 

 

- 특정 조건으로 세부적인 그룹화

 

- 여러 행을 하나로 줄여주는 함수이다.

 

- MAX(SAL)은 한줄로 나오기 때문에 옆에 DEPTNO 값을 넣을 경우 행의 갯수가 맞지 않기 때문에 오류값이 뜬다. 

GROUP BY 로 그룹을 묶어서 행의 갯수를 맞춰줘야 한다.

 

 

<HAVING>

 

 

- 조건을 주고 검색을 할 때 WHERE 절을 사용하지만 모든 조건을 처리할 수는 없다.

 

 

해당 예문의 경우 AVG 함수를 사용하면서 값을 구하기 위해 그룹핑 과정이 필요한데, WHERE의 경우 GROUP BY 보다 먼저 작동되기 때문에 해당 경우에 WHERE을 쓰면 오류값이 뜬다.

 

- HAVING은 GROUP BY와 함께 쓴다.

 

 

* 서브쿼리 : 하나의 셀렉트문 안에 셀렉트가 들어간 것을 말한다.

 

 

openclose