목록Database/database 수업 기록 (23)
버글버글
▶ NVL함수 NVL(칼럼, 칼럼값이 NULL일 때 대신 사용할 값) 예시) - 함수 확인용 기초 데이터 -- 함수 확인용 기초데이터 DROP TABLE SAMPLE; CREATE TABLE SAMPLE( NAME VARCHAR2(20 BYTE), KOR NUMBER(3), ENG NUMBER(3), MATH NUMBER(3) ); INSERT INTO SAMPLE(NAME, KOR, ENG, MATH) VALUES(NULL, 100, 100, 100); INSERT INTO SAMPLE(NAME, KOR, ENG, MATH) VALUES('영숙', NULL, 100, 100); INSERT INTO SAMPLE(NAME, KOR, ENG, MATH) VALUES('정수', 100, NULL, 100);..
▶ DUAL 테이블 1. DUMMY 칼럼에 'X' 값을 하나 가지고 있는 테이블 2. 아무 의미 없는 테이블 3. 오라클에서는 FROM절이 필수이기 때문에, 테이블이 필요 없는 조회문에서 DUAL 테이블을 사용함 ▶ 타입 변환 함수 1. 숫자로 변환 - TO_NUMBER('문자열') : 문자열 형식의 숫자를 숫자 형식으로 변환 SELECT '100', TO_NUMBER('100') FROM DUAL; -- '100'(문자열), 100(숫자열) SELECT '1.5', TO_NUMBER('1.5') FROM DUAL; -- '1.5'(문자열), 1.5(숫자열) * 숫자와 '문자' 연산은 오라클에 의해서 숫자와 숫자 연산으로 수정된 뒤 처리됨 '문자' → TO_NUMBER('문자') 방식으로 자동으로 처리함..
▶ 로우(ROW) 생성 INSERT INTO 테이블명 (칼럼명1, 칼럼명2, ...) VALUES (로우명1, 로우명2, ...);
* HR 계정 작업 1. EMPLOYEES 테이블에서 JOB_ID 조회하기. (단, 동일한 JOB_ID는 한 번만 출력하기) 2. EMPLOYEES 테이블에서 EMPLOYEE_ID가 120인 사원 조회하기 3. EMPLOYEES 테이블에서 SALARY가 10000 이상인 사원 조회하기 4. EMPLOYEES 테이블에서 EMPLOYEE_ID가 151 ~ 200인 사원 조회하기 5. EMPLOYEES 테이블에서 FIRST_NAME이 'Steven', LAST_NAME이 'King'인 사원 조회하기 6. EMPLOYEES 테이블에서 JOB_ID가 'IT_PROG', 'ST_MAN'인 사원 조회하기 7. EMPLOYEES 테이블에서 HIRE_DATE가 2005년인 사원 조회하기 8. EMPLOYEES 테이블에서..
▶ DQL(Data Query Languge) 1. 데이터의 질의어 2. 테이블의 데이터를 조회/검색 3. 데이터베이스에 변화가 없으므로 COMMIT 없음 (트랜잭션의 대상이 아님) 4. 형식 SELECT 칼럼1, 칼럼2, ... FROM 테이블 [WHERE 조건식] [GROUP BY 그룹화] [HAVING 그룹화_조건식] [ORDER BY 정렬] 5. 실행 순서 ⑤ SELECT 칼럼 ① FROM 테이블 ② WHERE 조건식 ③ GROUP BY 그룹화 ④ HAVING 그룹화_조건식 ⑥ ORDER BY 정렬기준 ▶ 조회하기 SELECT 칼럼명 FROM 테이블명; 1) 테이블에 오너(OWNER)명시 SELECT 칼럼명 FROM SCOTT.테이블명; 2) 칼럼에 테이블 명시 SELECT 테이블명.칼럼명 FRO..
▶ 시퀀스 (SEQUENCE) 1. 일련번호를 생성하는 데이터베이스 객체 2. 자동으로 증가하는 번호를 생성 3. 기본키(PK)에서 주로 사용(인공키) 4. NEXTVAL를 이용하면 새로운 번호가 생성 5. CURRVAL를 이용하면 현재 번호를 확인 - 테이블 1개 당 시퀀스 1개씩 사용한다. ▶ 시퀀스 생성 형식 CREATE SEQUENCE 시퀀스_이름 START WITH 시작값 -- 생략하면 1, 생성 이후 ★수정 불가★ INCREMENT BY 증가값 -- 생략하면 1 MINVALUE 최소값 MAXVALUE 최대값 CACHE사용유무 -- NOCACHE 권장 CYCLE사용유무 -- PK에서 사용한다면 NOCYCLE 예시) -- 테이블 삭제 DROP TABLE EMPLOYEE; DROP TABLE DEP..
-- 테이블 삭제 DROP TABLE EMPLOYEE; DROP TABLE DEPARTMENT; -- DEPARTMENT 테이블 생성 CREATE TABLE DEPARTMENT( DEPT_NO NUMBER NOT NULL, DEPT_NAME VARCHAR2(15 BYTE) NOT NULL, LOCATION VARCHAR2(15 BYTE) NOT NULL ); -- EMPLOYEE 테이블 생성 CREATE TABLE EMPLOYEE( EMP_NO NUMBER NOT NULL, NAME VARCHAR2(20 BYTE) NOT NULL, DEPART NUMBER NULL, POSITION VARCHAR2(20 BYTE) NULL, GENDER CHAR(2) NULL, HIRE_DATE DATE NULL, SA..
▶ DML 1. Data Manipulation Language 2. 데이터 조작어 3. 행(Row, Record, Tuple) 단위 삽입, 수정, 삭제 4. 트랜잭션(작업) 완료를 위해 COMMIT이 필요 5. 트랜잭션(작업) 취소를 위해 ROLLBACK 사용 가능 6. 종류 1) INSERT INTO VALUES 2) UPDATE SET WHERE 3) DELETE FROM WHERE ** COMMIT을 꼭 해줘야 한다. * 트래잭션 1. 트래잭션이란? 1) 데이터베이스에서 처리되는 여러 SQL 명령들을 하나의 논리적 작업 단위로 처리하는 것이다. 2) 작업이 시작되면 중간에 멈추지 않고, 반드시 종료해야 하는 작업 단위이다. (은행, 이체 프로그램 설치) 3) 중간에 멈추게 되면 아무 일도 하지 않..