복합변수(조합변수라고도 합니다.) 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..
-- 전체 직원의 인원 수와 급여 합계와 평균을 출력 SELECT COUNT(FIRST_NAME) as "인원 수", SUM(SALARY) as "급여 합계", avg(SALARY) as "급여 평균" FROM EMPLOYEES; -- 부서 코드가 100번인 직원의 수, 급여 합계, 평균 급여 조회 SELECT COUNT(FIRST_NAME) "직원 수", SUM(SALARY) "급여 합", AVG(SALARY) "평균 급여" FROM EMPLOYEES WHERE DEPARTMENT_ID = 100; --부서 코드가 100인 직원의 급여 중 최대 급여외 최소 급여는 얼마인가? SELECT MAX(SALARY) as "최대 급여", MIN(SALARY) as "최소 급여" FROM EMPLOYEES WHE..
- Total
- Today
- Yesterday
- 중첩 클래스
- 상속
- NVL2()
- 멤버 클래스
- MONTH_BETWEEN
- GROUP BY절
- Maven Project
- implements
- 로컬 클래스
- CLASS
- SQL Operator
- Generic Type
- !(not)
- IS RECORD
- NVL()
- 타입변환과 다형성
- tables in htmll
- SELECT절 명령어
- IN(var1 var2 var3)
- DI(의존성 주입)
- 복수행 함수
- casring
- hierarchical query
- DECODE()
- 데이터 딕셔너리
- z-dindex
- FileChannel
- 계층형 쿼리
- 테이블 데이터 복사
- Interface
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 | 31 |