728x90

SQL 21

31강 테이블 구조 생성, 변경 및 삭제하는 DDL(1)

-- 1. DB 객체 분류 -- 2. CREATE table로 구조 정의하기. -- 01. 테이블 구조 정의하는 CREATE TABLE -- 다음은 CREATE TABLE 문의 기본 형식입니다. -- CREATE TABLE table_name -- ( -- column_name, data_type expr,... -- ); -- ROWID -- ROWID 데이터 형은 테이블에서 행의 위치를 지정하는 논리적인 주소값입니다. -- ROWID는 데이터베이스 전체에서 중복되지 않는 유일한 값으로 -- 테이블에 새로운 행이 삽입되면 테이블 내부에서 의사 컬럼 형태로 -- 자동적으로 생성됩니다. -- ROWID는 테이블의 특정 레코드를 랜덤하게 접근하기 위해서 주로 사용됩니다. -- 다음은 select 문을 통해서..

Database/OracleDB 2022.09.11

30강 오라클 트랜잭션 관리 COMMIT & ROLLBACK DML

-- 1. 트랜잭션 -- 2. COMMIT과 ROLLBACK -- 3. 자동 커밋 -- 4. 트랜잭션을 작게 분할하는 SAVEPOINT -- 01. 트랜잭션 -- 데이터베이스에서 트랜잭션(Transaction)은 데이터 처리의 한 단위입니다. -- 오라클에서 발생하는 여러 개의 SQL 명령문들을 하나의 논리적인 작업 -- 단위로 처리하는데 이를 트랜잭션이라고 합니다. -- 여러 개의 명령어의 집합이 정상적으로 처리되면 정상 종료하도록 하고 -- 여러 개의 명령어 중에서 하나의 명령어라도 잘못되었다면 전체를 취소해버립니다. -- 여러 개의 명령어의 집합이 정상적으로 처리되면 정상 종료하도록 하고 -- 여러 개의 명령어 중에서 하나의 명령어라도 잘못되었다면 전체를 취소해버립니다. -- 데이터베이스에서 작업의..

Database/OracleDB 2022.09.11

29강 오라클 SQL insert, update, delete DML(2)

-- 1. 테이블의 내용을 수정하기 위한 UPDATE 문 -- 2. 테이블에 불필요한 행을 삭제하기 위한 DELETE문 -- 03. 테이블의 내용을 수정하기 위한 UPDATE문 -- UPDATA 문은 기존의 행을 수정한다. 어떤 행을 수정하는지 WHERE 절을 이용하여 조건을 지정한다. -- 주의! WHERE 절을 지정하지 않으면 모든 행이 수정된다. 조심하자 -- 테이블의 모든 행 변경 -- 0. emp01 테이블 만들기. create table emp01 as ( select * from emp); -- emp 테이블과 동일한 테이블을 생성한다. -- 1. 모든 사원의 부서번호를 30번으로 수정합시다. update emp01 set empno ='30'; -- 2. 이번엔 모든 사원의 급여를 10% ..

Database/OracleDB 2022.09.11

28강 오라클 SQL insert, update, delete DML(1)

-- 1. 테이블에 새로운 행을 추가하는 INSERT문 -- 2. 다중 테이블에 다중 행 입력하기. -- 3. PIVOTING에 의해 다중 테이블에 다중 행 입력하기 -- 01. 테이블에 새로운 행을 추가하는 INSERT 문 -- insert 문은 테이블에 새로운 데이터를 입력하기 위해 사용하는 데이터 조작어입니다. -- 다음은 insert 문의 기본 형식 입니다. -- insert into table_name (column_name, ...) values(column_value, ...); -- INSERT 문을 위한 실습에 사용할 테이블 생성하기 -- 1. 이미 사용하던 테이블과 동일한 이름의 테이블을 새로 만들려면 DROP TABLE 명령어로 -- 테이블을 삭제한 후에 기존에 있던 부서 테이블(DE..

Database/OracleDB 2022.09.11

27강 오라클 SQL set연산자(3)

-- set 연산자의 사용(INTERSECT, MINUS) -- INTERSECT -- 교집합과 INTERSECT -- 두 개의 쿼리를 받고 결과를 모은 다음, 두 결과셋에 모두 존재하는 레코드만을 리턴한다. select * from test1 intersect select * from test2; -- MINUS 연산자 -- 차집합과 MINUS -- 첫번째 쿼리에서만 리턴되며, 두번째 쿼리에서는 리턴되지 않는 레코드만을 리턴한다. select * from test1 minus select * from test2; -- -- SET 연산자 제한사항 -- SET 연산자로 묶여지는 SELECT 절에서 BLOB, CLOB, BFILE, VARRAY, -- 중첩 테이블 타입인 컬럼 사용 불가 -- UNION, ..

Database/OracleDB 2022.09.10

26강 오라클 SQL set연산자(2)

-- UNION -- 첫번째 쿼리의 모든 행을 두번째 쿼리의 모든 행과 더하고, 중복된 행을 제거한 후, 결과를 리턴한다. insert into test1 values('kim', 20); insert into test2 values('kim', 30); insert into test1 values('lee', 40); insert into test2 values('park', 50); insert into test1 values('choi', 60); insert into test2 values('choi', 60); -- 데이터 수정 update test1 set age='20' where name='kim'; update test2 set age='30' where name='kim'; select..

Database/OracleDB 2022.09.10

25강 오라클 SQL set 연산자(1)

-- 1. SET 연산자에 관하여 -- 독립적인 여러 개의 쿼리를 하나로 묶는 역활 -- 최종 결과는 하나의 쿼리가 수행된 것과 같음 -- 수학의 집합과 같은 개념 -- UNION -- 합집합과 같은 개념 -- SELECT 절에 나열된 모든 컬럼에 대해 두 테이블에 있는 내역 조회 -- DISTINCT 역활 -> 한 테이블 기준 동일한 데이터는 1번만 조회됨 -- SELECT 리스트의 컬럼의 개수, 순서, 타입이 같아야 함. ★ -- UNION ALL -- UNION과 다른 점은 한 테이블에 있는 동일 데이터가 모두 조회됨. -- [구문] -- select col1, col2, col3... -- from table1 -- where... -- union 아니면 union all -- select col..

Database/OracleDB 2022.09.10

24강 오라클 SQL 서브 쿼리(3)

-- 1. 다중 행 서브 쿼리 -- 2. ALL, ANY 연산자 -- 4.1 ALL 연산자 -- ALL 조건은 메인 쿼리의 비교 조건이 서브 쿼리의 검색 결과와 모든 값이 일치하면 참입니다. -- 찾아진 값에 대해서 AND 연산을 해서 모두 참이면 참이 되는 셈이 됩니다. > ALL 은 "모든 비교값 보다 크냐" -- 고 묻는 것이 되므로 최대값보다 더 크면 참이 됩니다. -- 30번 소속 사원들 중에서 급여를 가장 많이 받는 사원보다 더 많은 급여를 받는 사람의 이름, 급여를 -- 출력하는 쿼리문을 작성해 봅시다. select sal from emp where deptno=30; -- 30번 소속 사원들 중에서(sub) select ename, sal from emp where sal > all(sel..

Database/OracleDB 2022.09.10

23강 오라클 SQL 서브 쿼리(2)

-- 1. 서브 쿼리에서의 그룹 함수 사용 -- 2. 다중 행 서브 쿼리 -- 03. 다중행 서브 쿼리의 사용 -- 10번 부서에 근무하는 사원의 이름과 10번 부서의 부서명을 출력 select e.ename, d.dname from emp e, dept d where e.deptno = d.deptno and d.deptno=10; select e.ename, d.dname from emp e, -- 2. 메인 쿼리문 실행 : emp 테이블과 dept 테이블의 조인 실행. (select deptno, dname from dept where deptno = 10)d -- 1. 서브 쿼리문 실행 : 부서번호가 10인 deptno 출력. 별칭 d지정 where e.deptno = d.deptno; -- 2-..

Database/OracleDB 2022.09.10

22강 오라클 SQL 서브 쿼리(1)

-- 1. 서브 쿼리의 기본 개념 -- 2. 단일 행 서브 쿼리 -- SCOTT의 부서명을 알아내기 위한 서브 쿼리문부터 살펴봅시다. select dname from dept where deptno= -- 2. main 쿼리가 실행된다. (select deptno from emp where ename = 'SCOTT'); -- 1. sub가 먼저 실행되고 -- 01. 서브 쿼리의 기본 개념 -- 서브쿼리는 하나의 SELECT 문장의 절 안에 포함된 또 하나의 -- SELECT 문장입니다. -- 그렇기에 서브 쿼리를 포함하고 있는 쿼리문을 메인 쿼리, 포함된 또 -- 하나의 쿼리를 서브 쿼리라 합니다. -- 서브 쿼리는 비교 연산자의 오른쪽에 기술해야 하고 반드시 괄호로 -- 둘러쌓아야 합니다. -- 서브..

Database/OracleDB 2022.09.10
728x90