반응형

빅데이터/Oracle SQL | Do it! 오라클로 배우는 데이터베이스 입문 30

HAVING절 | HAVING절의 기본 사용법 / 유의점 / WHERE절과 HAVING절의 차이점

07 다중행 함수와 데이터 그룹화 07-3 GROUP BY절에 조건을 줄 때 사용하는 HAVING절 HAVING절은 먼저 GROUP BY절을 통해 그룹화된 결과 값에서, 조건에 해당하는 그룹만 출력할 때 사용. [HAVING절의 기본 사용법] SELECT ~ FROM ~ WHERE [조회할 행을 선별하는 조건식] GROUP BY [그룹화할 열 지정(여러 개 가능)] HAVING [출력 그룹을 제한하는 조건식] ORDER BY [정렬하려는 열 지정] *GROUP BY절과 마찬가지로 HAVING절에서 별칭 사용 불가. [HAVING절을 사용할 때 유의점] WHERE절과 HAVING절의 쓰임새 구분하기! WHERE절: 출력 대상 행을 제한함. HAVING절: 그룹화된 대상을 출력에서 제한함. - HAVING절..

GROUP BY절 | GROUP BY절의 기본 사용법 / 유의점

07 다중행 함수와 데이터 그룹화 07-2 결과 값을 원하는 열로 묶어 출력하는 GROUP BY절 각 부서 별 평균 급여를 출력하기 위해서는 아래와 같이 작성할 수도 있지만, 여러 모로 번거롭기 때문에 GROUP BY절 사용! [GROUP BY절의 기본 사용법] SELECT문에서는 GROUP BY절을 작성하여 데이터를 그룹화할 수 있음(여러 데이터에서 의미있는 하나의 결과를 특정 열 값별로 묶어서 출력) SELECT ~ FROM ~ WHERE ~ GROUP BY [그룹화할 열 지정(여러 개 가능)] ORDER BY [정렬하려는 열 지정] *GROUP BY절에는 여러 열을 명시할 수 있으며, 먼저 지정한 열로 대그룹을 나누고 그 다음 지정한 열로 소그룹을 나눔. *GROUP BY절에는 별칭 인식 안됨. 열..

다중행 함수란? | SUM / COUNT / MAX / MIN / AVG

07 다중행 함수와 데이터 그룹화 06장에서 단일행 함수에 대해 알아보았다면, 07장에서는 다중행 함수와 SELECT문의 결과 값을 그룹으로 묶어서 사용하는 방법에 대해 배워보자. 07-1 하나의 열에 출력 결과를 담는 다중행 함수 다중행 함수란? 그룹 함수, 복수행 함수로도 불리며, 여러 행을 바탕으로 하나의 결과 값을 도출해 내기 위해 사용하는 함수 예) *결과 값이 한 행으로 나오는 데이터와 여러 행이 나오는 데이터를 함께 명시할 경우 오류 발생. 자주 사용하는 다중행 함수 SUM 지정한 데이터의 합 반환 COUNT 지정한 데이터의 개수 반환 MAX 지정한 데이터 중 최댓값 반환 MIN 지정한 데이터 중 최솟값 반환 AVG 지정한 데이터의 평균값 반환 *기본 형식은 모두 동일 (DISTINCT 또는..

[오라클로 배우는 데이터베이스 입문 | 06장 오라클 함수] 문제 풀이 (p174)

[오라클로 배우는 데이터베이스 입문] 06장 오라클 함수 문제 풀이 (p174) Q1. SQL문을 작성해라. 1) EMPNO 열에는 EMP 테이블에서 사원 이름(ENAME)이 다섯 글자 이상이며 여섯 글자 미만인 사원 정보를 출력한다. 2) MASKING_EMPNO 열에는 사원 번호(EMPNO) 앞 두 자리 외 뒷자리를 * 기호로 출력한다. 3) MASKING_ENAME 열에는 사원 이름의 첫 글자만 보여 주고 나머지 글자 수만큼 * 기호로 출력해라. *RPAD, SUBSTR, LENGTH, CONCAT, || 등 문자 함수 응용하기 Q2. SQL문을 작성해라. EMP 테이블에서 사원들의 월 평균 근무일 수는 21.5일이다. 하루 근무 시간을 8시간으로 보았을 때 사원들의 하루 급여(DAY_PAY)와 시..

오라클 함수 | NULL 처리 함수 (NVL / NVL2) & DECODE 함수와 CASE문

06-6 NULL 처리 함수 특정 열의 데이터가 NULL이여서 연산 수행이 되지 않을 때, NVL함수와 NVL2 함수를 사용해 데이터를 NULL이 아닌 다른 값으로 대체해 줌. [NVL 함수의 기본 사용법] NVL([NULL인지 여부를 검사할 데이터 또는 열(필수)], [앞의 데이터가 NULL일 경우 반환할 데이터(필수)]) *입력 데이터가 NULL이 아닐 경우, 그대로 반환. [NVL2 함수의 기본 사용법] NVL2 함수는 NVL함수와 비슷하나, 데이터가 NULL이 아닐 때 반환할 데이터를 추가로 지정할 수 있음. NVL2([NULL인지 여부를 검사할 데이터 또는 열(필수)], [앞의 데이터가 NULL이 아닐 경우 반환할 데이터 또는 계산식(필수)], [앞의 데이터가 NULL일 경우 반환할 데이터 또는..

오라클 함수 | 형 변환 함수 (TO_CHAR / TO_NUMBER / TO_DATE)

06. 오라클 함수 06-5 자료형을 변환하는 형 변환 함수 [형 변환의 종류] 자동 형 변환(암시적 형 변환) 예) 숫자와 문자열(숫자)을 더하기 '500'은 문자 데이터이지만 숫자로 인식해서 자동으로 숫자로 바뀌어 계산됨. 명시적 형 변환 TO_CHAR 숫자 또는 날짜 데이터 → 문자 데이터 TO_NUMBER 문자 데이터 → 숫자 데이터 TO_DATE 문자 데이터 → 날짜 데이터 *위의 형 변환 함수를 사용하면 아래와 같이 데이터 간의 변환 가능 숫자 데이터 ↔ 문자 데이터 ↔ 날짜 데이터 [날짜, 숫자 데이터를 문자 데이터로 변환하는 TO_CHAR 함수] TO_CHAR([날짜데이터(필수)], [출력되길 원하는 문자 형태(필수)]) 자주 사용되는 날짜 표현 형식 CC 세기 YYYY, RRRR 연(4자..

오라클 함수 | 날짜 함수 (SYSDATE / ADD_MONTHS / MONTHS_BETWEEN / NEXT_DAY, LAST_DAY / ROUND, TRUNC)

06. 오라클 함수 06-4 날짜 데이터를 다루는 날짜 함수 연산 설명 날짜 데이터 + 숫자 날짜 데이터보다 숫자만큼 일수 이후의 날짜 날짜 데이터 - 숫자 날짜 데이터보다 숫자만큼 일수 이전의 날짜 날짜 데이터 - 날짜 데이터 두 날짜 데이터 간의 일수 차이 날짜 데이터 + 날짜 데이터 연산 불가 [현재 날짜와 시간을 보여주는 SYSDATE 함수] [몇 개월 이후 날짜를 구하는 ADD_MONTHS 함수] ADD_MONTHS([날짜 데이터(필수)], [더할 개월 수(정수)(필수)]) - 3개월 후 날짜 구하기 - 입사 10주년이 되는 사원들 데이터 출력하기 - 입사 41년 미만인 사원 데이터 출력하기 [두 날짜 간의 개월 수 차이를 구하는 MONTHS_BETWEEN 함수] MONTHS_BETWEEN([날..

오라클 함수 | 숫자 함수 (ROUND / TRUNC / CEIL, FLOOR / MOD)

06. 오라클 함수 06-3 숫자 데이터를 연산하고 수치를 조정하는 숫자 함수 ROUND 지정된 숫자의 특정 위치에서 반올림한 값을 반환 TRUNC 지정된 숫자의 특정 위치에서 버림한 값을 반환 CEIL 지정된 숫자보다 큰 정수 중 가장 작은 정수를 반환 FLOOR 지정된 숫자보다 작은 정수 중 가장 큰 정수를 반환 MOD 지정된 숫자를 나눈 나머지 값을 반환 [특정 위치에서 반올림하는 ROUND 함수] ROUND([숫자(필수)], [반올림 위치(선택)]) *반올림 위치 값이 0에서 양수로 올라가면, 반올림 위치가 한 자리씩 더 낮은 소수점 자리를 향하게 되고, 0에서 음수로 내려가면 자연수 쪽으로 한 자리씩 위로 반올림하게 됨. *반올림할 위치를 지정하지 않으면, 0으로 지정한 것과 같은 결과가 출력됨..

오라클 함수 | 문자 함수 (INSTRA / REPLACE / LPAD, RPAD, CONCAT / TRIM, LTRIM, RTRIM)

06. 오라클 함수 06-2 문자 함수 [문자열 데이터 안에서 특정 문자 위치를 찾는 INSTRA 함수] INSTRA([문자열 데이터(필수)], [위치를 찾으려는 부분 문자(필수)], [위치 찾기를 시작할 대상 문자열 데이터 위치(선택, 생략 시 1)], [시작 위치에서 찾으려는 문자가 몇 번째인지 지정(선택, 생략 시 1)]) - 특정 문자를 포함하고 있는 행을 찾을 때 사용 가능 [특정 문자를 다른 문자로 바꾸는 REPLACE 함수] REPLACE([문자열 데이터 또는 열 이름(필수)], [대체 원하는 원래 문자(필수)], [대체 원하는 새로운 문자(선택)]) - 대체 원하는 새로운 문자를 입력하지 않을 경우, 대체 원하는 원래 문자가 삭제됨. [데이터의 빈 공간을 특정 문자로 채우는 LPAD, RP..

오라클 함수 | 문자 함수 (UPPER, LOWER, INITCAP / LENGTH, LENGTHB / SUBSTRA)

06. 데이터 처리와 가공을 위한 오라클 함수 오라클에서는 연산자만으로 다루기 어려운 복잡한 데이터 처리와 다양한 결과를 얻기 위해 많은 함수를 제공하고 있다. 이들 함수는 연산자와 마찬가지로 WHERE절에서 조회할 행을 선별하는 데 사용하며, SELECT절에서 데이터를 원하는 형태로 가공하거나 의미 있는 값을 출력할 때에도 많이 사용한다. 06-1 오라클 함수 [오라클 함수의 종류] - 내장 함수: 오라클에서 기본으로 제공하고 있는 함수 - 사용자 정의 함수: 사용자가 필요에 의해 직접 정의한 함수 [내장함수의 종류] - 단일행 함수: 데이터가 한 행씩 입력되고, 입력된 한 행당 결과가 하나씩 나옴. - 다중행 함수: 여러 행이 입력되고, 하나의 행으로 결과가 나옴. 06장에서는 단일행 함수, 07장에..

반응형