- SQL 기본
- ORALCE (11g) - TOAD
- MYSQL (ver.8) - MYSQL WORKBENCH
- Reference
- Do it! 오라클로 배우는 데이터베이스
unfolding
- 계정과 스키마
- 오라클 데이터베이스 접속 및 SCOTT 계정 설정
- 사용자 계정 생성/권한부여
- 데이터를 조회하는 3가지 방법(
SELECTION,PROJECTION,JOIN) SELECT절과FROM절- 중복 데이터를 제거하는
DISTINCT - 별칭 설정
- 원하는 순서로 출력 데이터를 정렬하는
ORDER BY
WHERE절AND/OR연산자- 연산자 종류와 활용 방법
(1) 기본 연산자 (산술 연산자, 비교 연산자, 등가 비교 연산자)
(2)IN연산자
(3)NOT IN연산자
(4)BETWEEN A AND B연산자
(5)LIKE연산자와 와일드 카드
(6) 와일드카드 문자가 데이터 일부일 경우
(7)IS NULL연산자
(8-1)UNION집합 연산자
(8-2)UNION집합 연산자 :UNION,UNION ALL,MINUS,INTERSECT
(9) 연산자 우선 순위
-
오라클 함수
-
문자 함수
(1)UPPER,LOWER,INITCAP함수
(2)LENGTH함수
(3)SUBSTR함수
(4)INSTR함수
(5)REPLACE함수
(6)LPAD,RPAD함수
(7)CONCAT함수
(8)TRIM,LTRIM,RTRIM함수 -
숫자 함수
(1)ROUND함수(숫자 Ver.)
(2)TRUNC함수(숫자 Ver.)
(3)CEIL,FLOOR함수
(4)MOD함수 -
날짜 함수
(1)SYSDATE함수
(2)ADD_MONTHS함수
(3)MONTHS_BETWEEN함수
(4)NEXT_DAY,LAST_DAY함수
(5)ROUND,TRUNC함수(날짜 Ver.) -
형 변환 함수
(1) 자동 형 변환
(2) 명시적 형 변환
(3)TO_CHAR함수
(4)TO_NUMBER함수
(5)TO_DATE함수 -
NULL 처리 함수
(1)NVL함수
(2)NVL2함수 -
DECODE함수와 CASE문
(1)DECODE함수
(2)CASE문
-
다중행 함수(Multi Row Function)
(1)SUM함수
(2)COUNT함수
(3)MAX,MIN함수
(4)AVG함수 -
GROUP BY 절
-
HAVING 절
-
그룹화와 관련된 여러 함수
(1)ROLLUP,CUBE함수
(2)GROUPING SETS함수
(3)GROUPING,GROUPING_ID함수
(4)LISTAGG함수
(5)PIVOT,UNPIVOT함수
-
JOIN
(1) UNION 집합 연산자와 JOIN의 차이점
(2) 여러 테이블을 사용할 때의 FROM절
(3) JOIN 조건이 없을 때의 문제점
(4) TABLE 별칭 설정 -
JOIN 종류
(1) 등가 조인
(2) 비등가 조인
(3) 자체 조인
(4) 외부 조인 -
SQL-99 표준문법 조인
(1)NATURAL JOIN
(2)JOIN ~ USING
(3)JOIN ~ ON
(4)OUTER JOIN
(5) SQL-99 조인 방식에서 세 개 이상의 테이블을 조인할 때
-
서브쿼리
(1) 서브쿼리란?
(2) 서브쿼리의 특징 -
단일행 서브쿼리
(1) 단일행 서브쿼리와 날짜형 데이터
(2) 단일형 서브쿼리의 함수 -
다중행 서브쿼리
(1)IN연산자
(2)ANY,SOME연산자
(3)ALL연산자
(4)EXISTS연산자 -
다중열 서브쿼리
-
FROM절에 사용하는 서브쿼리와WITH절
(1)인라인 뷰사용하기
(2)WITH절 -
SELECT절에 사용하는 서브쿼리
-
테이블에 데이터 추가하기
(1) 테이블 생성/복사
(2)INSERT문 유의점
(3)INSERT문
(4) 테이블에NULL데이터 입력하기 : NULL의 명시적/암묵적 입력
(5) 테이블에 날짜 데이터 입력하기
(6) 서브쿼리를 사용하여 한 번에 여러 데이터 추가하기 -
테이블에 있는 데이터 수정하기
(1)UPDATE문의 사용법
(2) 데이터 전체 수정하기
(3)ROLLBACK: 수정한 내용 되돌리기
(4) 데이터 일부분만 수정하기
(5) 서브쿼리를 사용하여 데이터 수정하기
(6)UPDATE문 사용할 때 주의점 -
테이블에 있는 데이터 삭제하기
(1) 데이터 일부분 삭제하기
(2) 서브쿼리를 사용하여 데이터 삭제하기
(3) 데이터 전체 삭제하기
-
하나의 단위로 데이터를 처리하는 트랜잭션
(1)트랜잭션이란? -
트랜잭션 제어와 세션
(1)ROLLBACK: 트랜잭션 취소
(2)COMMIT: 트랜잭션 영구적 반영 -
세션과 읽기 일관성의 의미
(1)세션이란?
(2) 읽기 일관성의 중요성 -
수정 중인 데이터 접근을 막는 LOCK
(1)LOCK이란?
(2)LOCK의 개념
(3)LOCK의 종류
-
객체를 생성/변경/삭제하는 데이터 정의어
(1) DDL을 사용할 때 유의점 -
CREATE: 테이블 생성
(1) 자료형을 각각 정의하여 새 테이블 생성하기
(2) 기존 테이블의 열 구조와 데이터를 복사하여 새 테이블 생성하기
(3) 기존 테이블의 열 구조와 일부 데이터만 복사하여 새 테이블 생성하기
(4) 기존 테이블의 열 구조만 복사하여 새 테이블 생성하기 -
ALTER: 테이블을 수정/변경
(1)ADD키워드 : 테이블에 열 추가
(2)RENAME키워드 : 열 이름을 변경
(3)MODIFY키워드 : 열의 자료형 변경
(4)DROP키워드 : 특정 열 삭제 -
RENAME: 테이블 이름 변경 -
TRUNCATE: 테이블의 데이터 삭제 -
DROP: 테이블 삭제
-
데이터베이스를 위한 데이터를 저장한
데이터 사전
(1)데이터사전이란?
(2)USER_접두어를 가진 데이터 사전
(3)ALL_접두어를 가진 데이터 사전
(4)DBA_접두어를 가진 데이터 사전 -
더 빠른 검색을 위한
인덱스
(1)인덱스란?
(2)CREATE INDEX: 인덱스 생성
(3)DROP INDEX: 인덱스 삭제 -
데이터처럼 사용하는
뷰
(1)뷰란?
(2) 뷰의 사용 목적(편리성)
(3) 뷰의 사용 목적(보안성)
(4)CREATE VIEW: 뷰 생성
(5)DROP VIEW: 뷰 삭제
(5) 인라인 뷰를 사용한 TOP-N SQL문 : 순서를 매기는ROWNUM -
규칙에 따라 순번을 생성하는
시퀀스
(1)시퀀스란?
(2)CREATE SEQUENCE: 시퀀스 생성
(3)시퀀스 이름.CURRVAL,시퀀스 이름.NEXTVAL: 시퀀스 사용
(4)ALTER SEQUENCE: 시퀀스 수정
(5)DROP SEQUENCE: 시퀀스 삭제 -
공식 별칭을 지정하는
동의어
(1)동의어란?
(2)CREATE SYNONYM: 동의어 생성
(3)DROP SYNONYM: 동의어 삭제
-
사용자 관리
(1)사용자란?
(2)데이터베이스 스키마란?
(3) 사용자 생성
(4) 사용자 정보 조회
(5) 오라클 사용자의 변경과 삭제 -
권한 관리
(1)시스템 권한이란?
(2) 시스템 권한 부여
(3) 시스템 권한 취소
(4)객체 권한이란?
(5) 객체 권한 부여
(6) 객체 권한 취소 -
롤 관리
(1)롤이란?
(2) 사전 정의된 롤 : CONNECT롤, RESOURCE롤
(3) 사용자 정의 롤 : 롤 생성/확인/취소/삭제