Database(44)
-
Day33 - Quiz를 풀어 봅시다.
문제 1. 현재일자를 기준으로 EMPLOYEE테이블의 입사일자(hire_date)를 참조해서 근속년수가 10년 이상인 사원을 다음과 같은 형태의 결과를 출력하도록 쿼리를 작성해 보세요. 조건 1) 근속년수가 높은 사원 순서대로 결과가 나오도록 합니다 문제 2. EMPLOYEE 테이블의 manager_id컬럼을 확인하여 first_name, manager_id, 직급을 출력합니다. 100이라면 ‘사원’, 120이라면 ‘주임’ 121이라면 ‘대리’ 122라면 ‘과장’ 나머지는 ‘임원’ 으로 출력합니다. 조건 1) department_id_id가 50인 사람들을 대상으로만 조회합니다 문제 3. 사원 테이블에서 JOB_ID별 사원 수를 구하세요. 사원 테이블에서 JOB_ID별 월급의 평균을 구하세요. 월급의 평..
2021.04.01 -
Day33 - 그룹함수
이번에는 그룹함수에 대해서 알아 봅시다. 그룹함수 그룹 함수는 속성(column)별로 최대값(MAX), 최소값(MIN), 개수(COUNT) 등을 알고 싶을 때 사용하는 겁니다. SUM (합계) , AVG(평균), MIN(최소값), MAX(최대값), COUNT(개수) ※ 평균은 소수자리가 많이 나오기 때문에, ROUND 함수를 같이 사용했다. - COUNT 는 2가지 형태가 있습니다. (*) -> null 포함, (속성) -> null 비포함 - GROUP BY 절 GROUP BY는 속성을 그룹으로 묶습니다. 그룹함수를 사용하게 되면, 일반 속성(column)은 조회할 수가 없습니다. 일반 속성도 조회하고 싶다면, GROUP BY 로 묶어주어야 합니다. ※ 위는 job_id 별 급여평균 , 아래는 부서별 ..
2021.04.01 -
Day33 - 집합연산자
이번에는 집합연산자에 대해 알아 봅시다 집합연산자는 , 테이블과 테이블을 합치거나, 빼주거나 등등 .... 집합연산자는, 테이블과 테이블의 연산이 일어나기 때문에, 속성(column)이 같아야 합니다. UNION -> 합집합(중복x, 정렬o) UNION은 두 테이블의 합집합 입니다. 중복된 값이 있다면, 1번만 나옵니다. 정렬되어서 나옵니다. UNION ALL -> 합집합 (중복o, 정렬x) 202 Michael 이 두번 나온 것과, 정렬되지 않았음을 확인 할 수 있습니다. INTERSECT -> 교집합 두 테이블의 중복되는 것(둘 다 있는 것)을 반환합니다 MINUS -> 차집합 ※여러개의 테이블에 같이 사용할 수 있다 보통 dual 테이블에 사용함 이렇게 집합 연산자에 대해서 알아 보았습니다. 고생하..
2021.04.01 -
Day32 - 값 변환 함수
이번에는 값을 변환할 수 있는 함수에 대해서 알아 봅시다. 값을 변환 할 수 있는 함수에는 대표적으로 NVL , NVL2 , DECODE , CASE WHEN THEN END 가 있습니다. NVL(컬럼, 값) -> 컬럼의 값이 null 이라면 값 으로 반환 NVL2(컬럼, 값1, 값2) -> 컬럼의 값이 null 아니라면 값1 , null 이라면 값2 반환 DECODE(컬럼, 값, 결과, 값, 결과.. , default) -> 컬럼을 기준으로 값을 비교해서 결과 반환 컬럼이 모든 값과 일치하지 않는경우 default 반환 CASE 컬럼 WHEN 값 THEN 결과 ELSE 값 END -> 컬럼이 값과 같다면 결과, 끝에 END ※DECODE 와 비슷하다고 볼 수 있습니다. 이렇게 값 변환 함수들에 대해서 ..
2021.04.01 -
Day32 - 형 변환 함수
이번에는 형 변환 함수에 대해서 알아 봅시다. 형 변환 함수에는 to_char, to_numer, to_date 가 있습니다. to_char -> 문자로 바꾸기 -to_char(날짜, 날짜형식) -> 날짜를 문자로 바꾸기 -to_char(숫자, 숫자형식) -> 숫자를 문자로 바꾸기 숫자의 자리수는 9로 표현 , 0은 그 자리에 0으로 채우기. , 쉼표 . 소수점 to_number(문자, 숫자형식) -> 문자를 숫자로 바꾸기 숫자표현식에서 지원하지 않는 형식은 변경 불가 ※문자가 숫자의 형태를 띄고, 연산을 수행한다면 oracle에서 자동 형변환이 이루어짐 ※숫자 뿐만 아니라 기호($,.) 등이 포함되면 자동현변환이 안되어서 에러가 뜸 to_date(문자, 날짜표현식) -> 문자를 날짜로 바꾸기 ※ 날짜는..
2021.04.01 -
Day32 - 숫자 함수, 날짜 함수
이번에는 숫자 함수와 날짜 함수에 대해서 알아 봅시다. 숫자 함수 -round(숫자, 자리수) -> 자리수 반올림 , 자리수를 안넣을 경우 기본값 0 -trunc(숫자, 자리수) -> 자리수 아래로 절삭 , 자리수를 안넣을 경우 기본값 0 -abs(숫자) -> 절대값 -ceil(숫자) -> 올림 , floor(숫자) -> 내림 -mod(숫자1 , 값1) -> 숫자를 값1로 나눈 나머지 반환 ( java에서 쓰던 %가 없음 ) 날짜 함수 -sysdate -> 현재 시스템의 날짜를 가져온다. ( 년/월/일 ) ※표현되는 건, 년/월/일 이지만, 시/분/밀리초 까지 가지고 있음. -systimestamp -> 현재 시스템의 날짜를 가져온다. ( 년/월/일 시:분:밀리초. +세계기준시간) ※세계기준시간으로부터 ..
2021.04.01