목록오라클 (23)
Yeonee's Story
안녕하세요 . #yeoneeblog 여니입니다 :) 여러개의 쿼리문을 가지고 하나의 쿼리문으로 만드는 연산자 -UNION(합집합) : 두 쿼리문을 수행한 결과값을 더한 후 중복되는 부분은 한번만 빼서 중복을 제거한것 -UNION ALL : 두 쿼리문을 수행한 결과값을 더한 후 중복값은 제거하지 않고 그대로둔것 -INTERSECT(교집합) : 두 쿼리문을 수행한 결과값의 중복된 부분만 가져온것 -MINUS(차집합) : 선행 쿼리문 결과값에서 후행 쿼리문 결과값을 뺀 나머지 부분 주의해야할점 : 두 쿼리문의 결과를 합쳐서 한개의 테이블로 보여줘야하기 때문에 두 쿼리문의 SELECT절 부분은 같아야한다.(조회할 컬럼명이 일치해야함) 1. UNION(합집합) : 두 쿼리문을 수행한 결과값을 더해주지만, 중복값은..
안녕하세요. #yeoneeblog 여니입니다 :) 그룹을 묶어줄 기준을 제시할 수 있는 구문 => 그룹함수와 같이 쓰임. 해당 제시된 기준별로 그룹을 묶을 수 있음 여러개의 값들을 하나의 그룹으로 묶어서 처리할 목적으로 사용 [표현법] GROUP BY 묶어서 기준이 될 컬럼 ex)-- 각 부서별 총 급여 합을 급여별로 내림차순 정렬해서 조회 --> 어느부서가 제일 급여를 많이 받나? SELECT DEPT_CODE, SUM(SALARY) -- 3 (정렬전에 조회하고) FROM EMPLOYEE -- 1 GROUP BY DEPT_CODE -- 2 (조건검사하고) ORDER BY 2 DESC; -- 4 (마지막 정렬) 그룹에 대한 조건을 제시하고자할때 사용되는 구문 (주로 그룹함수를 가지고 조건제시) => GR..
안녕하세요. #yeoneeblog 여니입니다 :) /* 그룹을 묶어줄 기준을 제시할 수 있는 구문 => 그룹함수와 같이 쓰임. 해당 제시된 기준별로 그룹을 묶을 수 있음 여러개의 값들을 하나의 그룹으로 묶어서 처리할 목적으로 사용 [표현법] GROUP BY 묶어서 기준이 될 컬럼 */ -- 각 부서별로 총 급여의 합계 SELECT DEPT_CODE, SUM(SALARY) FROM EMPLOYEE GROUP BY DEPT_CODE; -- 부서별로 그룹을 짓겠다. -- 각 부서별 사원수 SELECT DEPT_CODE, COUNT(*) FROM EMPLOYEE GROUP BY DEPT_CODE; -- 각 부서별 총 급여 합을 부서별 오름차순으로 정렬해서 조회 SELECT DEPT_CODE, SUM(SALARY..
안녕하세요. #yeoneeblog 여니입니다 :) -- NULL : 값이 존재하지 않음을 나타내는 값 -- NULL 처리 함수들 : NVL, NVL2, NULLIF /* NVL(컬럼명, 해당컬럼값이 NULL일 경우 반환할 반환값) 해당컬럼에 값이 존재할 경우 기존의 칼럼값을 반환 칼럼에 값이 존재하지 않을경우 내가 제시한 값이 반환됨. */ -- 사원명, 보너스, 보너스가 없는 경우 0으로 바꿔서 출력 SELECT EMP_NAME, BONUS, NVL(BONUS, 0) FROM EMPLOYEE; -- 보너스 포함 연봉 조회 SELECT EMP_NAME, (SALARY + (SALARY + (SALARY * BONUS))) * 12 AS "보너스 포함 연봉" FROM EMPLOYEE; /* NVL2(컬럼명..
안녕하세요. #yeoneeblog 여니입니다 :) 자바로 따지면 메소드와 같은 존재 매개변수로 전달된 값들을 읽어서 계산한 결과를 반환 => 호출해서 쓸 것 - 단일행 함수 : n개의 값을 읽어서 n개의 결과를 리턴 (매 행마다 함수 실행 후 결과 반환) - 그룹 함수 : n개의 값을 읽어서 1개의 결과를 리턴 (하나의 그룹별로 함수 실행후 결과를 반환) 단일행 함수와 그룹함수는 함께 사용할수 없음 : 결과 행의 갯수가 다르기 때문 LENGTH / LENGTHB - LENGTH(문자열) : 전달된 문자열의 글자 수 반환 - LENGTHB(문자열) : 전달된 문자열의 바이트 수 반환 결과값은 숫자로 반환 => NUMBER 문자열 : 문자열 형식의 리터럴, 문자열정보가 저장된 칼럼 한글은 글자당 3BYTE ..