[Oracle] ORDER BY, HAVING, ALIAS, GROUP FUNCTION 연습

2021. 5. 27. 00:38·데이터베이스/Oracle
반응형

ORDER BY == SORTING

SELECT
FROM
WHERE

ORDER BY


SELECT ENAME, SAL
FROM EMP
ORDER BY SAL ASC; --오름차순 정렬

SELECT ENAME, SAL
FROM EMP
ORDER BY SAL DESC; --내림차순 정렬

--ALIAS
SELECT EMPNO, ENAME, SAL * 12 AS annsal
FROM EMP
ORDER BY annsal DESC; --ALIAS 로도 사용 가능하다.

SELECT ENAME, COMM
FROM EMP
ORDER BY COMM NULLS LAST; --NULLS FIRST NULL값이 맨 위로 올라온다. // NULLS 의 default 값은 LAST

SELECT EMPLOYEE_ID, JOB_ID, SALARY
FROM EMPLOYEES
ORDER BY JOB_ID ASC, SALARY DESC; --JOB_ID로 오름차순 정렬후 연봉으로 내림차순

GROUP BY : 그룹으로 묶는 기능
HAVING : 묶었을 때 조건


SELECT DISTINCT JOB_ID --DISTINCT 하나로 해서(그룹) 중복을 없앤다.
FROM EMPLOYEES;


통계
- GROUP FUNCTION
COUNT -> NULL은 갯수를 포함하지 않는다.
SUM
AVG
MAX
MIN
보통 함수를 같이 사용한다.


SELECT COUNT(SALARY), COUNT(*), SUM(SALARY), AVG(SALARY), -- * = 모두, IT부서의 전체연봉,평균연봉,최고연봉,최저연봉
MAX(SALARY), MIN(SALARY)
FROM EMPLOYEES
WHERE JOB_ID = 'IT_PROG';

SELECT JOB_ID, COUNT(*) --각 부서별로 몇명인지 출력
FROM EMPLOYEES
GROUP BY JOB_ID --주의!! 묶은 다음에는 일반 컬럼은 사용할 수 없다.
ORDER BY JOB_ID;

SELECT JOB_ID, SUM(SALARY), AVG(SALARY) --연봉의 합계, 평균
FROM EMPLOYEES
GROUP BY JOB_ID --주의!! 묶은 다음에는 일반 컬럼은 사용할 수 없다.
ORDER BY JOB_ID;

--업무별로 급여의 합계가 100000$ 이상인 업무만을 출력하라.
SELECT JOB_ID, SUM(SALARY)
FROM EMPLOYEES
GROUP BY JOB_ID -- 1
HAVING SUM(SALARY) >= 100000; -- 2 HAVING : 묶은 다음 조건

--급여가 5000이상 받는 사원으로 합계를 내서 업무로 그룹화하여
--급여의 합계가 20000을 초과하는 업무명을 구하라.
SELECT JOB_ID, SUM(SALARY) AS 합계
FROM EMPLOYEES
WHERE SALARY >= 5000
GROUP BY JOB_ID
HAVING SUM(SALARY) > 20000
ORDER BY "합계" DESC;

반응형
저작자표시 (새창열림)

'데이터베이스 > Oracle' 카테고리의 다른 글

[Oracle]무결성(Constraint) 제약 조건  (0) 2021.05.31
[Oracle] JOIN 쉽게 이해하기  (0) 2021.05.29
[Oracle] 비교연산자, ALL, ANY, IN, NOT IN, BETWEEN, LIKE 연습  (0) 2021.05.27
[Oracle] scott 계정 연습문제 (SELECT문, 비교 연산자, 논리 연산자)  (0) 2021.05.27
[Oracle] SELECT문 형식  (0) 2021.05.27
'데이터베이스/Oracle' 카테고리의 다른 글
  • [Oracle]무결성(Constraint) 제약 조건
  • [Oracle] JOIN 쉽게 이해하기
  • [Oracle] 비교연산자, ALL, ANY, IN, NOT IN, BETWEEN, LIKE 연습
  • [Oracle] scott 계정 연습문제 (SELECT문, 비교 연산자, 논리 연산자)
:j
:j
ddongjunn@gmail.com
  • :j
    dev.j
    :j
  • 전체
    오늘
    어제
    • :j
      • 프로그래밍 언어
        • Java
        • html
        • JavaScript
        • XML
        • JSON
        • CSS
        • jQuery
        • Web
        • k8s
        • JPA
      • 프레임워크
        • Spring
      • 코딩 테스트
        • Java
      • 네트워크
        • CCNA
      • 데이터베이스
        • Mssql
        • Oracle
      • 회고
      • :j story
      • CS
  • 블로그 메뉴

    • 홈
    • 태그
    • github
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    id
    오버로딩
    MSSQL
    항해99
    Queue
    class
    멤버변수
    항해플러스
    항해솔직후기
    appendChild
    지역변수
    다형성
    Name
    <br>
    group by
    항해플러스백앤드
    HAVING
    오버라이딩
    항해백앤드
    항해플러스백엔드
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
:j
[Oracle] ORDER BY, HAVING, ALIAS, GROUP FUNCTION 연습
상단으로

티스토리툴바