DataBase/Oracle
8. Oracle 서브쿼리
서브쿼리(SubQuery) 일반적인 쿼리문 안에 또 다른 쿼리문이 삽입되는 형태입니다. 모든 데이터 조작어 (SELECT,INSERT,DELETE,UPDATE)안에서 모두 사용 가능합니다. 서브쿼리의 기본형 평균 급여보다 적게 받는 사람의 EMPLOYEE_ID,FIRST_NAME,LAST_NAME를 출력하려고 합니다. 이를 위해서는 2개의 SELECT 구문이 필요합니다. SELECT ROUND(AVG(SALARY)) FROM EMPLOYEES; SELECT EMPLOYEE_ID,FIRST_NAME,LAST_NAME FROM EMPLOYEES WHERE SALARY < 6462; 서브쿼리를 이용하면 하나의 SELECT 구문을 생성할 수 있습니다. SELECT EMPLOYEE_ID,FIRST_NAME,LAS..
7. Oracle 조인
JOIN이란? 두개 이상의 테이블의 공통된 속성을 묶어 원하는 결과값을 표현하는 방식입니다. 예시 - HR 스키마 DEPARTMENTS , EMPLOYEES 테이블을 분리해 놓은 이유는 데이터를 별도로 관리하기 위함입니다. 만약 EMPLOYEES 의 DEPARTMENT_ID 로는 부서명을 정확히 알 수 없으며, DEPARTMENTS 테이블의 DEPARTMENT_NAME에 표현되어있습니다. INNER JOIN - 일반적인 JOIN을 의미합니다. SELECT EMPLOYEES.FIRST_NAME, EMPLOYEES.LAST_NAME, EMPLOYEES.EMAIL, DEPARTMENTS.DEPARTMENT_NAME FROM EMPLOYEES, DEPARTMENTS WHERE EMPLOYEES.DEPARTMEN..
6. Oracle GroupBy, Having 절
GROUP BY 절 GROUP BY를 통하여 원하는 필드로 묶어줍니다. SELECT DISTINCT DEPARTMENT_ID FROM EMPLOYEES; SELECT DEPARTMENT_ID FROM EMPLOYEES GROUP BY DEPARTMENT_ID; 부서별 급여 합계 SELECT DEPARTMENT_ID, SUM(SALARY) FROM EMPLOYEES GROUP BY DEPARTMENT_ID; SELECT DISTINCT DEPARTMENT_ID, SUM(SALARY) FROM EMPLOYEES; -- 그룹으로 묶이지 않아 출력이 되지 않습니다. 부서별 사원수와 평균 급여 SELECT DEPARTMENT_ID, SUM(SALARY), COUNT(SALARY), AVG(SALARY) FROM ..
5. Oracle 날짜 함수
SYSDATE() 현재 날짜를 출력할 수 있습니다. SELECT SYSDATE FROM DUAL; MONTHS_BETWEEN(A,B) A와 B사이의 개월 수를 출력할 수 있습니다. SELECT FIRST_NAME,LAST_NAME,MONTHS_BETWEEN(SYSDATE,HIRE_dATE) FROM EMPLOYEES WHERE DEPARTMENT_ID = 50; -- DEPARTMENT_ID 가 50인 인원의 현재 시간부터 고용일까지의 개월 수를 출력 할 수 있습니다. ADD_MONTHS() 개월 수를 더 해줄 수 있습니다. SELECT ADD_MONTHS(SYSDATE,7)FROM DUAL; NEXT_DAY() 다가올 요일에 대해 일자를 출력합니다. SELECT NEXT_DAY(SYSDATE,'일요일'..
4. Oracle 문자열 함수
CONCAT(A,B) 문자열 A,B를 연결 ||도 사용 가능 합니다. SELECT CONCAT('HELLO','SQL'),CONCAT('GOOD','BYE')FROM DUAL; SELECT CONCAT('HELLO','SQL'), 'GOOD'||'BYE' FROM DUAL; INITCAP(A) 문자열 A의 첫글자를 대문자로 변환 합니다. 구분자가 들어가게 되면 첫글자로 인식합니다. SELECT INITCAP('hello world')FROM DUAL; SELECT INITCAP('hello/bye world')FROM DUAL; LOWER(A) 문자열 A를 소문자로 출력합니다. SELECT LOWER('HELLOWWORLD') FROM DUAL; UPPER(A) 문자열 A를 대문자로 출력합니다. SELE..
3. Oracle 집계함수, 숫자함수
SUM() 괄호 안의 필드의 합계를 출력합니다. SELECT SUM(SALARY) FROM EMPLOYEES; COUNT() 괄호 안의 필드의 갯수를 출력합니다. SELECT COUNT(SALARY) FROM EMPLOYEES; AVG() 괄호 안의 필드의 평균를 출력합니다. SELECT AVG(SALARY) FROM EMPLOYEES; MAX() 괄호 안의 필드 중 최대값을 출력합니다. SELECT MAX(sALARY) FROM EMPLOYEES; MIN() 괄호 안의 필드 중 최소값을 출력합니다. SELECT MIN(HIRE_DATE) FROM EMPLOYEES; Oracle 에서는 Select 구문 처리 시 반드시 테이블명칭을 기재해야되며 없을경우 Dual(Dummy Table을 선언합니다.) AB..
2. Oracle Select
SELECT 구문 "*" 는 모든 필드를 출력할 수 있습니다. SELECT * FROM TAB; -- 해당 스키마에 있는 테이블과 View 목록이 출력됩니다. SELECT * FROM EMPLOYEES; -- EMPLOYEES 테이블의 모든 정보를 출력합니다. DESC DESC EMPLOYEES; -- EMPLOYEES 테이블의 속성을 출력합니다. 오름차순 SELECT EMPLOYEE_ID, LAST_NAME FROM EMPLOYEES ORDER BY EMPLOYEE_ID ASC; 내림차순 SELECT EMPLOYEE_ID, LAST_NAME FROM EMPLOYEES ORDER BY EMPLOYEE_ID DESC; AS 별칭을 이용해 출력시 원하는 필드명으로 변경 할 수 있습니다. SELECT EMPL..

1. Oracle 설치 및 개발 환경구축
DataBase 설치 1. 오라클 공식 홈페이지에 접속하여 On-Premise (서버 역활할 곳에 직접 설치 ) 를 선택합니다. 경로 : https://www.oracle.com/index.html 2. Oracle 12c 부터는 클라우드 아키텍쳐를 지원합니다. 운영체제에 맞는 File 1 ,2 를 모두 다운로드 하여야합니다. 3. 다운로드 받은 2개의 파일을 압축해제 후, 한개로 합칩니다. 4. Setup.exe 를 실행하게 되면 아래와 같은 화면이 출력됩니다. 설치 옵션 메일은 옵션이므로 등록하지 않아도 무방합니다. 5. 데이터베이스 생성 및 구성을 선택합니다. 6. 시스템 클래스 선택 시 연습용으로 사용하려면 데스크톱 클래스, 네트워크 상 다른 PC와 같이 사용하기 위해선 서버 클래스를 선택하면 됩..