본문 바로가기

데이터베이스

(30)
[ORACLE] 연습문제 2 문제 1) 논리연산 emp 테이블에서 입사 일자가 1982년 1월 1일 이후부터 1983년 1월 1일 이전인 사원의 ename, hiredate 데이터를 조회하는 SQL을 작성하시오 단 연산자는 비교연산자(>, >=, = '19810601' AND deptno NOT IN (10) 문제 4) 데이터 정렬 emp 테이블에서 empno 컬럼을 기준으로 정렬한 결과에 1부터 시작하는 번호를 순차적으로 부여하는 SQL을 작성하시오 SELECT ROWNUM, empno, ename FROM emp ORDER BY empno 문제 5) 데이터 정렬 emp 테이블에서 10번 부서(deptno) 혹은 30번 부서에 속하는 사람중 급여 (sal)가 1500이 넘는 사람들만 조회하고 이름으로 내림차순 정렬되도록 SQL을 ..
[ORACLE] 연습문제 1 DB TEST) 1) 상품 테이블로부터 모든 row와 column을 검색 SELECT * FROM PROD; 2) 회원 테이블로부터 모든 row와 column을 검색 SELECT * FROM MEMBER; 3) 상품 테이블로부터 상품코드와 상품명을 검색 SELECT PROD_ID AS 상품코드, PROD_NAME AS 상품명 FROM PROD; 4) 회원 테이블의 마일리지를 12로 나눈 값을 검색 SELECT MEM_MILEAGE/12 AS 마일리지 FROM MEMBER; 5) 상품 테이블의 상품코드, 상품명, 판매금액을 검색 (판매금액은 = 판매단가 * 55 로 계산) SELECT PROD_ID AS 상품코드, PROD_NAME AS 상품명, ROUND(PROD_PRICE * 55) AS 판매금액 FR..
28. TRIGGER 1. TRIGGER ( 트리거 ) 임의의 이벤트 (INSERT, UPDATE, DELETE)가 발생되기 전 또는 발생 후 다른 테이블이 자동 변경이 되도록 하기 위해 사용되는 프러시저 ( 사용 형식 ) CREATE OR REPLACE TRIGGER 트리거명 AFTER | BEFORE [INSERT | UPDATE | DELETE ] ON 테이블명 [FOR EACH ROW][WHEN 조건] --예) 5번 인서트한다 하면 써야함 줄마다 해야해서 BEGIN SQL 구문; END; 1) 타이밍 BEFORE와 AFTER BEFORE : 이벤트가 발생되기 전에 BEGIN ~ END 블록의 SQL문을 실행 AFTER : 이벤트가 발생된 후에 BEGIN ~ END 블록의 SQL문을 실행 2) EVENT 트리거 발생 원..
27. 분기문 ( LOOP, WHILE, FOR ) / CURSOR 1. LOOP 프로그램 언어의 DO문에 해당 반복문의 기본 구조를 제공 ( 사용형식 ) LOOP 반복처리문; [EXIT WHEN 조건;] END LOOP; - 'EXIT WHEN 조건' 의 조건이 만족되면 반복을 벗어남 예제) 1-100사이의 수중 홀수의 합과 짝수의 합을 출력하시오 DECLARE V_CNT NUMBER:=0; --1~100사이의 수를 보관 V_EVEN NUMBER:=0; --짝수의 합 v_ODD NUMBER:=0; --홀수의 합 BEGIN LOOP V_CNT:=V_CNT+1; EXIT WHEN V_CNT>100; IF MOD(V_CNT,2)=0 THEN V_EVEN:=V_EVEN+V_CNT; ELSE V_ODD:=V_ODD+V_CNT; END IF; END LOOP; DBMS_OUTPU..
26. 분기문 ( IF, CASE WHEN ) 1. 분기문 1) IF 문 프로그래밍 언어의 IF문과 동일 기능 제공 ( 사용형식 -1 ) IF 조건 THEN 명령문; ELSE 명령문; END IF; ( 사용형식 -2 ) IF 조건 THEN 명령문; ELSIF 조건 THEN 명령문; ELSIF 조건 THEN 명령문; ELSE 명령문; END IF; ( 사용형식 -3 ) IF 조건 THEN IF 조건 THEN 명령문; ELSE 명령문; END IF; ELSE 명령문; END IF; 예제) 키보드로 단을 입력받아 해당 구구단을 출력하는 익명 블록을 작성하시오 ACCEPT P_BASE PROMPT '구구단의 단입력(2-9) : ' DECLARE V_BASE NUMBER := TO_NUMBER('&P_BASE'); BEGIN FOR I IN 1..9 LOOP..
25. PL SQL 1. PL/SQL Procedure Language SQL의 약자 기본 SQL이 제어문, 변수, 상수 등의 기능을 제공하지 않아 제약사항 존재 기본 SQL의 기능을 확장하고 모듈화, 캡슐화 기능 제공 익명 블록, 사용자 정의 함수, 저장 프러시저, 트리거, 패키지 등이 제공 2. 익명블록(Anomymous Block) 이름을 갖고 있지 않은 블록 PL/SQL의 기본이 되는 구조 단순 스크립트에서 실행돼도 서버에 저장되지 않음 1) 구조 DECLARE 선언부(변수, 상수, 커서 선언); BEGIN 실행부(비지니스 로직을 처리하기 위한 SQL문); [EXCEPTION 예외처리부;] END; 2) 변수 . 일반 개발언어의 변수와 같은 기능 데이터를 잠시보관 --하나 한행전체 테이블전체 . SCLAR 변수 - ..
24. SUB QUERY 1. SUB QUERY ( 서브 쿼리 ) 1. 개념 SQL구문안에 또 다른 SELECT문이 포함된 형태 JOIN을 감소시켜 QUERY의 복잡성을 완화 서브 쿼리는 반드시 '( )'안에 기술 연산자와 함께 사용하는 경우 연산자 우측에 기술해야 한다. FROM절에 사용되는 서브 쿼리를 특별히 in-line 서브 쿼리라 하고 VIEW나 독립된 테이블처럼 활용되며 실행 가능해야 한다. // FROM절이 제일 먼저 실행되기 때문에 그것의 결과를 가지고 실행될 것이다. 2. 메인 쿼리와의 연관성 여부에 따라 메인 쿼리에 사용된 테이블과 서브 쿼리에 사용된 테이블이 JOIN 연산되었는지 여부에 따라 연관성 서브 쿼리/연관성없는 서브쿼리 3. 형태에 따라 일반 서브 쿼리 IN-LINE 서브 쿼리 중첩 서브 쿼리 4. ..
23. OUTER JOIN 1. 외부조인 내부조인은 조인조건에 맞지않은 자료를 무시하고 결과 반환 외부조인은 자료가 부족한 쪽 테이블에 부족한 행만큼 NULL을 추가 삽입하여 조인 수행 조인조건에서 데이터가 없는 테이블의 컬럼에 외부조인 연산자 '(+)'를 붙여기술 외부조인 조건이 두개 이상인경우 모든 조인조건에 외부조인 연산자를 기술 한번에 한테이블에만 외부조인을 할수 있다. 예) A,B,C 테이블에서 A를 기준으로 B테이블을 외부조인 했다면 동시에 C를 기준으로 B테이블을 외부조인 할 수 없다. 즉, WHERE A.COL = B.COL(+) AND C.COL = B.COL(+)는 허용되지 않음 -- C.COL(+)는 가능 외부조인 연산자 '(+)'와 OR 연산자는 같이 사용할 수 없다. ( 일반 외부조인 사용 형식 ) SELE..