Programming/Database


    728x90
    반응형

    [ORACLE 초급] DDL - CREATE, ALTER, RENAME, TRUNCATE, DROP

    데이터 정의어 데이터 조작어(INSERT, UPDATE, DELETE)와 다르게 수행하자 마자 반영되는 특성(자동 COMMIT)이 있기 때문에 실행 취소가 불가능 CREATE -- 데이터베이스 객체 생성 CREATE TABLE 소유 계정.테이블 이름( 열1 이름 열1 자료형, 열2 이름 열2 자료형, ..., 열N 이름 열N 자료형 ); 📍 TABLE 이름 생성 규칙 문자로 시작 (한글 가능, 숫자 불가, 대소문자 구별 안함 - 큰따옴표("")를 사용하면 대소문자 구별) 테이블 이름은 30byte 이하 같은 계정의 테이블 이름은 중복 불가 테이블 이름은 영문자, 한글, 숫자, 특수문자($, #, _) 가능 SQL 키워드는 테이블 이름으로 사용 불가 📍 COLUMN 이름 생성 규칙 문자로 시작 열 이름은 ..

    [ORACLE 초급] 트랜잭션(COMMIT, ROLLBACK), SESSION, LOCK

    트랜잭션 UPDATE문을 실행한 후 천재지변 또는 데이터베이스 서버에 갑자기 문제가 생기는 경우 UPDATE문을 실행하지 못하는 상황이 발생할 경우 위와 같은 데이터 유실을 막기 위해 UPDATE문을 완전히 실행하거나, 아무 UPDATE문도 실행하지 않는 상태를 유지해야 한다. 따라서, 연속해서 일어나는 UPDATE문은 하나의 실행 단위처럼 꼭 붙어 있어야 한다. 트랜잭션 : 더 이상 분할할 수 없는 최소 수행 단위 (어떤 기능 한 가지를 수행하는 SQL문 덩어리) 하나의 트랜잭션 내에 있는 여러 명령어를 한 번에 수행하여 작업을 완료하거나 아예 모두 수행하지 않는 상태 (ALL or NOTHING) TCL(Transaction Control Language) : 트랜잭션을 제어하기 위해 사용하는 명령어..

    [ORACLE 초급] DML - INSERT, UPDATE, DELETE (feat. 서브쿼리)

    1. INSERT 테이블 생성 -- DEPT 테이블 복사해서 새로운 테이블 생성 CREATE TABLE DEPT_TEMP AS SELECT * FROM DEPT where 1 1; 테이블 삭제 DROP TABLE 테이블 이름; 데이터 추가 -- 지정한 테이블의 열 순서와 자료형에 맞는 입력 데이터를 지정 -- 숫자는 바로 명시, 문자열은 작은따옴표('')안에 명시 INSERT INTO 테이블 이름 (열1, 열2, ..., 열N(선택)) VALUES (열1 값, 열2 값, ..., 열N 값); NULL의 명시적 입력 데이터 값에 직접 NULL 입력해 추가 (문자열이나 날짜형이면 빈 공백 문자열('')로도 NULL 입력 가능) INSERT INTO DEPT_TEMP(DEPTNO,..

    [ORACLE 초급] 서브쿼리 - WHERE절(단일행, 다중행, 다중열), 인라인뷰(WITH절), 스칼라서브쿼리

    서브쿼리 SQL문을 실행하는 데 필요한 데이터를 추가로 조회하기 위해 SQL문 내부에서 사용하는 SELECT문 SELECT문 외에도 INSERT, UPDATE, DELETE, CREATE문 등 다양한 SQL문에서 서브쿼리 사용 -- SELECT문의 WHERE절에 SUBQUERY (메인쿼리 내의 서브쿼리) SELECT 열 FROM 테이블 WHERE 조건식 ( SELECT 열 FROM 테이블 WHERE 조건식 ) ✨ 서브쿼리의 특징 연산자와 같은 비교 또는 조회 대상의 오른쪽에 놓이며 괄호로 묶어 사용 특수한 경우 제외, 대부분의 서브쿼리는 ORDER BY절을 사용할 수 없음 서브쿼리 SELECT절의 열은 메인쿼리의 비교 대상과 같은 자료형과 같은 개수로 지정 메인쿼리 연산자 종류와 서브쿼리 SELECT문 ..

    [ORACLE 초급] 문법별 JOIN 사용법 - 내부조인, 외부조인, JOIN ~ USING/ON

    조인 두 개 이상의 테이블을 연결하여 하나의 테이블처럼 출력할 때 사용 FROM절에 여러 개의 테이블을 쉼표(,)로 구분자를 이용해 지정 (서브쿼리, 뷰 등이 이에 해당) SELECT FROM 테이블1, 테이블2, ..., 테이블N -- 크로스 조인, 교차 조인 (모든 원소의 순서쌍) SELECT * FROM EMP, DEPT; 위처럼 조인 조건이 없을 때 문제점? 결과로 나올 수 있는 모든 행을 조합하기 때문에 두 테이블의 데이터가 맞아 떨어지지 않아도 출력됨 따라서, 어떤 데이터를 연결해야 하는지 기준을 정해줘야 함! (WHERE절의 중요성) ⇒ 테이블이름.열이름 SELECT * FROM EMP, DEPT WHERE EMP.DEPTNO = DEPT.DEPTNO; 테이블 별칭 테이블 이름에서 한칸 띄운..

    [ORACLE 중급] 그룹화 함수 - ROLLUP, CUBE, GROUPING, PIVOT 등

    ROLLUP, CUBE GROUP BY절에 지정할 수 있는 특수 함수로 ROLLUP 함수나 CUBE 함수는 그룹화 데이터의 합계를 출력할 때 유용하게 사용 SELECT [조회할 열1], [조회할 열2], ..., [열N 이름] FROM [조회할 테이블명] WHERE [조회할 행을 선별하기 위한 조건식] GROUP BY ROLLUP/CUBE [그룹화할 열 지정 (여러 개 가능)]; ROLLUP : 소그룹부터 대그룹 순서로 각 그룹별 결과 출력, 마지막에 총 데이터 결과 출력 → ROLLUP함수에 명시한 열에 한해 결과 출력, 그룹함수를 지정할 수 없음 ⇒ n개의 열을 지정하면 n+1의 조합이 출력 -- ROLLUP EXAMPLE SELECT DEPTNO, JOB, COUNT(*), MAX(SAL), SUM..

    [ORACLE 초급] 데이터 그룹화 GROUP BY절, HAVING절

    GROUP BY절 데이터 그룹화 : 여러 데이터에서 의미 있는 하나의 결과를 특정 열 값별로 묶어 출력 SELECT [조회할 열1], [조회할 열2], ..., [열N 이름] FROM [조회할 테이블명] WHERE [조회할 행을 선별하기 위한 조건식] GROUP BY [그룹화할 열 지정 (여러 개 가능)] ORDER BY [정렬할 열 지정]; EX! 부서별 평균 급여 (통합) -- 하드 코딩 방식임 SELECT AVG(SAL), '10' AS DEPTNO FROM EMP WHERE DEPTNO = 10 UNION ALL SELECT AVG(SAL), '20' AS DEPTNO FROM EMP WHERE DEPTNO = 20 UNION ALL SELECT AVG(SAL), &#..

    [ORACLE 초급] 오라클 함수 - 단일행 함수(문자, 날짜, 숫자 ...), 다중행 함수(SUM, AVG, COUNT ...)

    오라클 함수 함수 : 특정한 결과 값을 얻기 위해 데이터를 입력할 수 있는 특수 명령어 내장 함수 (기본 제공) 단일행 함수 : 데이터가 한 행씩 입력되고 입력된 한 행당 결과가 하나씩 나오는 함수 ⇒ 아래 내용 다중행 함수 : 여러 행이 입력되어 하나의 행으로 결과가 나오는 함수 사용자 정의 함수 문자 함수 UPPER(문자열) 모두 대문자로 변환 LOWER(문자열) 모두 소문자로 변환 INITCAP(문자열) 첫 글자는 대문자로, 나머지는 소문자로 변환 ⇒ 문자열 검색에서 주로 사용 LENGTH(문자열) 문자열의 길이 LENGTHB(문자열) 문자열의 바이트 수 (한글은 2BYTE) DUAL 테이블 DUMMY 테이블로 임시 연산이나 함수의 결과 값 확인 용도로 사용 SUBSTR : 문자열 일부 추출 SUB..

    [ORACLE 초급] 조건 검색 - WHERE, 연산자

    WHERE절 데이터를 조회할 때 특정 조건을 기준으로 원하는 행을 출력하는 데 사용 (여러 연산자를 함께 사용해 더욱 세밀하게 검색 가능) SELECT [조회할 열1], [조회할 열2], ..., [열N 이름] FROM [조회할 테이블명] WHERE [조회할 행을 선별하기 위한 조건식]; WHERE의 조건식이 TRUE인 경우 출력 AND, OR 연산자 조건식을 여러 개 지정할 때 사용하는 논리 연산자 (조건식 개수는 제한이 없음) 문자열 데이터는 대·소문자 구별! AND : 둘 다 TRUE이면 TRUE OR : 하나만 TRUE여도 TRUE SELECT * FROM EMP WHERE [조건식1] AND [조건식2] OR [조건식3]; 다양한 연산자 산술 연산자 +, -, *, / 수치 연산 비교 연산자 >..

    [ORACLE 초급] SELECT문 - SELECT, FROM, ORDER BY

    데이터 조회 - 셀렉션, 프로젝션, 조인 데이터를 조회하는 데 사용하는 SELECT문은 크게 세 가지 방식으로 나뉜다. 셀렉션 행 단위로 조회 테이블의 전체 데이터 중 몇몇 가로줄의 데이터만 선택할 때 사용 ex) 전체 학생 중 졸업생의 데이터만 골라 출력 프로젝션 열 단위로 조회 테이블을 구성하는 전체 항목 중 특정 항목만 조회할 때 사용 ex) 전체 학생 데이터에서 학번, 이름, 학과 코드만 조회 조인 두 개 이상의 테이블을 사용하여 조회 두 개 이상의 테이블을 연결하여 마치 하나의 테이블인 것처럼 데이터를 조회하는 방식 (외래키를 이용하여 연결) SELECT절과 FROM절 SELECT [조회할 열1 이름], [열2 이름], ... , [열N 이름] FROM [조회할 테이블 이름]; SELECT문 :..

728x90
반응형