IF~ THEN~ END IF; 1) 임의의 성적을 사용하여 학점을 구하시오. DECLARE score number(3); grade varchar2(2); BEGIN score := 88; if score BETWEEN 90 and 100 then grade:= 'A'; end if; if score BETWEEN 80 and 89 then grade:= 'B'; end if; if scoreBETWEEN 70 and 79 then grade:= 'C'; end if; if scoreBETWEEN 60 and 69 then grade:= 'D'; end if; if score5000 AND r.sal5000 and r.sal9; END LOOP; i:=2; dan := dan+1; exit when d..
복합변수(조합변수라고도 합니다.) 1) RECORD TYPE 변수 TYPE 타입이름 IS RECORD ( 변수명 변수타입, 변수명2 변수타입, ... ); 타입변수이름 타입이름; --사번, 성명, 이메일, 연락처를 필드로 하는 record타입을 선언하고 --성명이 'Luis'인 직원의 정보를 Record에 담아 출력하시오(Record 명: rec_emp) DECLARE TYPE rec_emp IS RECORD( t_deptno employees.department_id%type, t_name employees.first_name%type, t_email employees.email%type, t_phone employees.phone_number%type ); v_rec1 rec_emp; BEGIN SE..
계층형 쿼리란? 상위계층, 하위계층이 있는 구조와 관련한 쿼리상-하위 관계 표현이 가능 SELECT employee_id, first_name, LPAD(first_name, level*1 + length(first_name), '*') as "단계" FROM EMPLOYEES CONNECT BY PRIOR employee_id = manager_id start with employee_id = 100; SELECT employee_id, first_name, LPAD(first_name, level*3 + length(first_name), '*') as "단계", SYS_CONNECT_BY_PATH(first_name, '->') as "Order(low->high)" FROM EMPLOYEES CO..
서브쿼리란? 하나의 쿼리 안에 또 다른 하나의 쿼리가 담겨 있는 것--> 쿼리문장을 줄일 수 있다. SELECT select_list FROM TABLE 또는 VIEW WHERE 조건 연산자 ( SELECT select_list FROM TABLE WHERE 조건); Q. Lex의 급여보다 많이 받는 사원들의 이름과 급여 조회SELECT first_name as "First Name", SALARY as "Salary" FROM EMPLOYEES WHERE first_name = 'Lex'; SELECT first_name as "Frst Name", SALARY as "Salary" FROM EMPLOYEES WHERE SALARY > 17000;--이렇게 두번의 쿼리를 써야 풀 수 있는 건데 한 번 ..
VIEW를 사용하는 이유 1. 보안2. 쿼리문의 단순화 SIMPLE VIEW--1) 입사일이 2007년인 직원의 id, 성명, email, 연락처, 급여만을 갖는 뷰 생성(v_emp1) CREATE VIEW v_emp1 AS SELECT EMPLOYEE_ID, FIRST_NAME, EMAIL, PHONE_NUMBER, SALARY FROM EMPLOYEES WHERE TO_CHAR(HIRE_DATE, 'rrrr') = '2007'; SELECT * FROM v_emp1 WHERE salary>=7000;
제약조건(Constraint)이란 테이블에 올바른 데이터만 입력받고 잘못된 데이터는 들어오지 못하도록 컬럼마다 정하는 규칙을 의미 ⊙Constraint 이름 설정과 함께 제약조건 명시하기--1) 테이블 생성 시 제약 조건 명시 CREATE TABLE new_emp1( No NUMBER(4) CONSTRAINT emp1_no_pk PRIMARY KEY, Name VARCHAR(20) CONSTRAINT emp1_name_nn NOT NULL, JuMin VARCHAR(13) CONSTRAINT emp1_jumin_uk UNIQUE CONSTRAINT emp1_jumin_nn NOT NULL, Loc_Code NUMBER(1) CONSTRAINT emp1_area_ck CHECK( loc_code
INSERT ~ INTO --입사일이 2007년인 직원은 emp2에 --급여가 10000원 이상인 직원은 emp3에 각각 INSERT하시오 --a. emp2에 있는 모든 테이터는 삭제 --b. emp3 테이블을 employees 테이블의 구조와 동일하게 생성 --c. 문제 해결 insert ALL WHEN TO_CHAR(hire_date, 'yyyy')='2007' THEN INTO emp2 WHEN salary>=10000 THEN INTO emp3 SELECT * FROM EMPLOYEES; --입사일이 2007년인 직원은 emp2에 성명(first_name+last_name), --입사일, 이메일, 직무아이디만 저장 --급여가 10000원 이상인 직원은 emp3 테이블에 --성명, 급여, 입사일, ..
--현재 유저가 접근할 수 있는 테이블 목록 확인 SELECT * FROM user_tables; --제약 조건 목록 확인 SELECT * FROM user_constraints; --DML(insert, update, delete) --emp2, emp3 테이블을 삭제(drop) DROP TABLE emp2; DROP TABLE emp3; --employees의 구조를 emp2에 구조만 복사 CREATE TABLE emp2 AS SELECT * FROM EMPLOYEES WHERE 1=2; 연습문제 --입사년이 2007년인 직원만을 emp2에 입력(복사) INSERT INTO emp2 SELECT * FROM EMPLOYEES e WHERE TO_CHAR(e.HIRE_DATE, 'yyyy') = '20..
DDL (Data Definition Language): CREATE(생성), ALTER(수정), TRUNCATE(잘라내기), DROP(삭제) 01. CREATE테이블 생성 CREATE TABLE 테이블명 ( 컬럼명 컬럼의 유형 제약조건, ... )CREATE TABLE new_table(NO NUMBER(3), NAME VARCHAR2(10), BIRTH DATE); SELECT * FROM new_table; CREATE TABLE member( id VARCHAR(20) primary key, name VARCHAR(30), rdate date, --가입일 point NUMBER(10,1), gender char(1) ); DESC member; 테이블에 데이터 넣기INSERT INTO MEMBER..
JOIN 의 종류1) 등가 조인(p234) 두 개 이상의 테이블에서 동일한 값으로 조인 --> AND 느낌 2) 비등가 조인(p240) 두 개 테이블에서 값이 같지 않은 경우에 조인하는 경우 --> OR 느낌3) outer join(p244)left outer join: 기준이 되는 테이블이 왼쪽에 있는 경우right outer join: 기준이 되는 테이블이 오른쪽에 있는 경우full outer join(호환성 없음) : 좌우 다 참조4) self join(p254): 자기가 자기 자신을 조인하는 경우 -- 부서 코드가 101번인 부서의 주소와 우편번호 조회 SELECT street_address as "주소", postal_code as "우편번호" FROM DEPARTMENTS d JOIN LOCA..
- Total
- Today
- Yesterday
- 상속
- FileChannel
- NVL2()
- GROUP BY절
- IN(var1 var2 var3)
- 멤버 클래스
- Generic Type
- tables in htmll
- 로컬 클래스
- 복수행 함수
- Interface
- 데이터 딕셔너리
- !(not)
- NVL()
- implements
- DECODE()
- 테이블 데이터 복사
- 계층형 쿼리
- CLASS
- z-dindex
- SELECT절 명령어
- DI(의존성 주입)
- casring
- hierarchical query
- MONTH_BETWEEN
- 중첩 클래스
- IS RECORD
- SQL Operator
- Maven Project
- 타입변환과 다형성
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |