sql
-
JDBC (Java DataBase Connectivity) - 추가프로그래밍 언어/JDBC 2020. 11. 18. 11:50
본좌는 오늘 사원을 추가해 보려고한다. 3 - 1) insertEmp() 메소드 생성 public void displayMain() { int sel = 0; do { try { System.out.println(); System.out.println("===================================="); System.out.println("[Main Menu]"); System.out.println("1. 전체 사원 정보 조회"); System.out.println("2. 사번으로 사원 정보 조회"); System.out.println("3. 새로운 사원 정보 추가"); System.out.println("4. 사번으로 사원 정보 수정"); System.out.println("5. 사..
-
JDBC (Java DataBase Connectivity) - 검색프로그래밍 언어/JDBC 2020. 11. 17. 16:49
본좌는 이제 사번으로 사원 정보를 조회해보도록 할 것이다. 2 - 1) selectOne() 메소드 생성 switch(sel) { case 1: selectAll(); // 1_1. 같은 클래스에 있는 selectAll()을 호출 break; case 2: selectOne(); // 2_1. 같은 클래스에 있는 selectOne()을 호출 break; case 3: insertEmp(); break; case 4: updateEmp(); break; case 5: deleteEmp(); break; case 6: selectOne2(); break; case 0: System.out.println("프로그램 종료."); break; default : System.out.println("잘못 입력하셨습니..
-
Oracle - DDL (Data Definition Language) CREATE - Part 1데이터베이스/Oracle 2020. 11. 17. 14:53
DDL(Data Definition Language) DDL이란 데이터 정의 언어로 객체(OBJECT)를 만들고(CREATE), 수정하고(ALTER), 삭제(DROP)하고 데이터 전체 구조를 정의하는 언어이다. 주로 DB관리자, 설계자가 사용한다. 오라클의 객체에는 테이블(TABLE), 뷰(VIEW), 시퀀스(SEQUENCE), 인덱스(INDEX), 패키지(PACKAGE), 프로시저(PROCEDUAL), 함수(FUNCTION), 트리거(TRIGGER), 동의어(SYNONYM), 사용자(USER)가 있다. 그 중 테이블, 뷰, 등을 데이터베이스 객체를 생성하는 구문은 CREATE이다. 본좌랑 같이 CREATE를 알아보자. CREATE CREATE란 테이블이나 인덱스, 뷰 등 데이터베이스 객체를 생성하는 구..
-
Oracle - 서브쿼리(SUBQUERY) - Part2데이터베이스/Oracle 2020. 11. 16. 17:27
다중 행 다중 열 서브쿼리 다중행 다중열 서브쿼리란 서브쿼리의 조회 결과 컬럼의 개수와 행의 개수가 여러 개인 서브쿼리이다. [ 다중행 다중열 서브쿼리 예시 ] - 직급별 최소 급여를 받는 직원의 사번, 이름, 직급, 급여 조회 SELECT EMP_ID, EMP_NAME, JOB_CODE, SALARY FROM EMPLOYEE WHERE (JOB_CODE, SALARY) IN (SELECT JOB_CODE, MIN(SALARY) FROM EMPLOYEE GROUP BY JOB_CODE) ORDER BY 3; 여기의 WHERE절에 있는 SELECT문인 SELECT JOB_CODE, MIN(SALARY) FROM EMPLOYEE GROUP BY JOB_CODE 이 코드를 실행하면 직급코드별 최저시급이 나타난..
-
Oracle - 서브쿼리(SUBQUERY) - Part 1데이터베이스/Oracle 2020. 11. 16. 14:27
SUBQUERY SUBQUERY란 SELECT 문장 안에 포함된 또 다른 SELECT 문장으로 메인 쿼리가 실행되기 전 한 번만 실행된다. 비교 연산자의 오른쪽에 기술해야 하고 반드시 괄호로 묶어야 한다. 서브쿼리와 비교할 항목은 반드시 서브쿼리의 SELECT한 항목의 개수와 자료형을 일치시켜야 한다. 즉, 메인퀘리 SELECT문을 보조하는 역할로 사용하는 SELECT문이다. [ SUBQUERY 예시 ] 전 직원의 평균 급여보다 많은 급여를 받고 있는 직원의 사번, 이름, 직급코드 ,급여 조회 SELECT EMP_ID, EMP_NAME, JOB_CODE, SALARY FROM EMPLOYEE WHERE SALARY >= (SELECT AVG(SALARY) FROM EMPLOYEE); -- 서브쿼리 예시 ..
-
Oracle - CROSS JOIN / NON_EQUI JOIN / SELF JOIN데이터베이스/Oracle 2020. 11. 13. 15:47
CROSS JOIN / NON_EQUI JOIN / SELF JOIN CROSS JOIN / NON_EQUI JOIN / SELF JOIN를 알아보자. CROSS JOIN CROSS JOIN이란 교차 조인, 혹은 카테시안 곱(Cartesian Product)이라고도 하며 조인되는 테이블의 각 행들이 모두 매핑된 데이터가 검색되는 조인 방법이다. 검색되는 데이터 수는 '행의 컬럼 수 * 또 다른 행의 컬럼 수' 로 나타난다. [ CORSS JOIN 예시 ] SELECT EMP_NAME, DEPT_TITLE FROM EMPLOYEE CROSS JOIN DEPARTMENT; NON_EQUI JOIN NON_EQUI JOIN이란 비등가 조인이라고도 불리며 '=' (등호)를 사용하지 않는 조인문으로 지정한 컬럼 ..
-
Oracle - JOIN데이터베이스/Oracle 2020. 11. 12. 14:47
JOIN JOIN이란 하나 이상의 테이블에서 데이터를 조회하기 위해 사용하고 수행 결과는 하나의 Result Set으로 나타낸다. JOIN에는 오라클 전용 구문과 ANSI 표준 구문이 있다. 예를들어 EMPLOYEE 테이블 조회 SELECT EMP_ID, EMP_NAME, DEPT_CODE FROM EMPLOYEE; DEPARTMENT 테이블 조회 SELECT DEPT_ID, DEPT_TITLE FROM DEPARTMENT; EMPLOYEE 테이블과 DEPARTMENT 테이블을 JOIN을 하면 SELECT EMP_ID, EMP_NAME, DEPT_CODE, DEPT_TITLE FROM EMPLOYEE, DEPARTMENT -- 합치게될 테이블 명시 WHERE DEPT_CODE = DEPT_ID; -- 합..
-
Oracle - GROUP BY 의 ROLLUP과 CUBE데이터베이스/Oracle 2020. 11. 11. 17:26
ROLLUP / CUBE ROLLUP과 CUBE는 그룹 별 산출한 결과 값의 집계를 계산하는 함수이다. ROLLUP ROLLUP이란 인자로 전달받은 그룹 중 가장 먼저 지정한 그룹별로 추가적 집계 결과를 반환한다. 즉, 그룹별 '중간집계' 와 '전체 집계'를 계산하여 결과를 행에 자동 추가해주는 함수이다. [ ROLLUP 예시 ] - EMPLOYEE 테이블에서 각 부서 마다 직급 별 급여합, 부서 별 급여 합, 전체 직원 급여 총합 조회 SELECT DEPT_CODE, JOB_CODE, SUM(SALARY) FROM EMPLOYEE GROUP BY ROLLUP(DEPT_CODE, JOB_CODE) ORDER BY 1; CUBE CUBE란 인자로 지정된 그룹들로 가능한 모든 조합 별로 집계한 결과 반환한다..