목록DB (34)
개발자 항해
그룹함수 1. 그룹함수란? 행그룹을 조작해서 하나의 결과값을 반환하는 함수 2. 그룹함수의 종류 min, max, sum, avg, count 3. 그룹함수의 특징 null값은 작업하지 않는다. 1) min, max : 모든 데이터타입에 사용가능하다. 사용 예제는 아래와 같다. "min(날짜)" 는 가장 오래된 날짜이고 "max(날짜)"는 가장최근 날짜이다. "min(이름)"을 하게 되면 오름차순중 제일 첫번째 "max(이름)"은 오름차순중 제일 마지막 이름을 알려준다. 2) sum, avg : 숫자 데이터에만 사용가능하다. 3) count 함수 ① count(*) : null O, 중복값 O ② count(expr) : null X, 중복값 O ③ count(distinct exper) : null X..
다중행 서브쿼리란? 서브쿼리로부터 메인쿼리로 여러 개의 값(여러 행)이 반환되는 경우 다중행 서브쿼리인 경우 메인쿼리에 다중행비교연산자를 준비해야함 - 다중행 비교 연산자 종류 IN => ( = , OR ) NOT IN => ( , AND) =ANY => ( =, OR ) (==) IN과 동일함 >ANY => ( >, OR ) : 최소값보다 크면 TRUE >=ANY => ( >=, OR ) : 최소값보다 크거나 같으면 TRUE ( ( =, AND ) : 연산자의 성격이 없어서 사용안함 >ALL => ( >, AND ) : 최대값보다 크면 TRUE >=ALL => ( >=, AND ) : 최대값보다 크거나 같으면 TRUE (
서브쿼리(subquery)란? 쿼리구문 안에 또다시 쿼리 구문이 포함되어 있는 형태이다. 메인쿼리실행전 먼저 한번 실행되고 group by 절을 제외한 쿼리구문 어디에도 작성이 가능하다. 특히, where절 또는 having절에 많이 사용된다. 조건절에 사용될때 연산자의 오른쪽에 위치를 시키고 괄호로 묶어서 사용된다. 서브쿼리 유형으로는 단일행 서브쿼리, 다중행서브쿼리가 있다. 1. 단일행 서브쿼리 서브쿼리로부터 하나의 결과값(한 행)이 반환되는 경우 단일행 서브쿼리인 경우에는 메인쿼리에 단일행비교연산자를 준비하면 된다. * 단일행비교연산자 : = : 같음 > : 보다큼 >= :보다 크거나 같음 < : 보다 작음
트랜잭션 ( Transaction )이란? 하나의 논리적인 작업단위로 여러개의 DML이 모여서 하나의 트랜잭션이 구성된다. 트랜잭션제어 명령어(TCL) 1. commit : DB에 영구히 저장하는 명령어 2. rollback : 변경 작업을 취소하는 명령어 3. savepoint : 트랜잭션 진행 중 되돌아갈 지점을 생성하는 명령어 이제 savepoint로 롤백을 해보자
3. 데이터 삭제 ( delete ) [ 문법 ] delete from 테이블명 [ where 조건문];
2. 데이터 수정( update) [문법] update 테이블명 set 컬럼명1 = 값1, 컬럼명2 = 값2,... [ where 조건문 ]; ① auto-commit 해제후 작업 ( DB에 바로 저장되지 않고 임시저장상태로 작업하기때문에 rollback으로 작업취소가능) ② null값으로 update ③ subquery를 사용한 update 구문 위 구문의 뜻은 ㉮ copy_emp테이블의 job_id를 employees테이블로 부터 employee_id가 205인 사원의 job_id와 같게 수정하고 ㉯ copy-emp테이블의 salary는 employees테이블의 employee_id가 205인 사원의 salary와 같게 수정하되 ㉰ 최종적으로 copy_emp테이블의 employee_id가 113인 사..
DML(데이터조작어)란? 테이블에 데이터를 삽입, 수정, 삭제하는 명령어 insert, update, delete가 있다. 작업단위는 테이블 내 데이터(행)이다. 작업후 commit이나 rollback으로 트랜잭션을 마무리 해야한다. 1. 데이터삽입( insert ) [문법] insert into 테이블명[(컬럼1, 컬럼2, 컬럼3,...)} values (값1, 값2, 값3....); 1) 테이블의 기본 컬럼 순서를 아는 경우 2) 테이블의 기본 컬럼 순서를 모르는 경우 3) null값 삽입방법 4) 다른 테이블로부터 데이터를 복사가능. ① 조건을 주어 데이터 일부만 복사 ② 테이블 전체 복사
View 란? 하나이상의 테이블을 기반으로 생성되었으나 물리적으로 존재하지 않고 DB에 정의만 되어있는 가상의 논리적인 테이블이다. 보안성,편의성, 공간적인 효율성의 목적으로 사용된다. 테이블과 동일하게 select, DML 모두 가능하다. 1. View 생성 (create view) [문법] create view 뷰명 as select 컬럼1,컬럼2,컬럼3 from 테이블 where 조건문; ----> where 조건문이 필수요건은 아니다. 2. View 수정 (alter view) 3. View 삭제 (drop view) 뷰 삭제시 base table에 미치는 영향은 없다. [문법] drop view 뷰명; 4. View 정보 조회