나의 공부 일기

SQL 개발자 자격증 공부 - 2과목 SQL 기본 및 활용 ( 2 / 4 ) 본문

자격증공부/SQL 개발자

SQL 개발자 자격증 공부 - 2과목 SQL 기본 및 활용 ( 2 / 4 )

곽병권 2024. 2. 7. 15:38
728x90

다중 칼럼(Multi Column) 서브 쿼리

 

• 서브쿼리의 실행 결과로 여러 칼럼을 반환함.

• 메인쿼리의 조건절에 여러 칼럼을 동시에 비교할 수 있다.

• 서브쿼리와 메인쿼리에서 비교하고자 하는 칼럼 개수와 칼럼의 위치가 동일해야 한다.

 

 

DISTINCT

쿼리문을 작성할때 원하는 값을 찾고 싶고 중복되는 값을 빼고 출력하고자할 때 사용한다.

 

 

DROP

DDL

ROLLBACK 불가능

사용시 AUTO COMMIT 됌

용량을 모두 반환함

테이블의 정의 자체를 완전히 삭제시킴

 

TRUNCATE

DDL 이나 일부 DML의 성격을 가지고 있음

ROLLBACK 불가능

DROP과 마찬가지로 사용시 AUTO COMMIT 됌

테이블 최소 생성 시 용량만 남기고, 모두 반환함

테이블을 최초 생성된 초기상태로 만듬(틀만 남김)

UNDO를 위한 데이터를 생성하지 않기 때문에 동일 데이터량 삭제시 DELETE 보다 빠르다

 

DELETE

DML

COMMIT 이전 ROLLBACK 가능함

사용자가 직접 COMMIT

용량은 반환하지 않음

데이터만 삭제함

 


트랜잭션

 

데이터베이스의 논리적 연산단위로 밀접히 관련되어 분리될 수 없는 한 개 이상의 데이터 베이스 조작

종료를 위한 대표적 명령어로 데이터베이스에 영구적으로 반영하는 COMMIT

변경전의 상태로 되돌리는 ROLLBACK이 있음

 

트렌잭션(ACID) 의 특성

 

 원자성

     - Automicity

     - 트랜잭션에서 정의된 연산들은 모두 성공적으로 실행되던지 아니면 전혀 실행되지 않아야함

 

 일관성

     - Consistency

     - 트랜잭션이 실행되기 전의 데이터베이스 내용이 잘못 되어 있지 않다면 트랜잭션이 실행된 이후에도 데이터베이스의          내용에 잘못이 있으면 안됌  

 

 고립성

     - Isolation

     - 트랜잭션이 실행되는 도중 다른 트랜잭션의 영향을 받아 잘못된 결과를 만들어서는 안됌

 

 지속성

     - Durability

     - 트랜잭션이 성공적으로 수행되면 그 트랜잭션이 갱신한 데이터 베이스의 내용은 영구적으로 저장됌

 

 

 

격리성이 낮은 경우 발생할 수 있는 문제점

 

Dirty Read 

     - 다른 트랜잭션에 의해 수정되었고 이미 커밋된 데이터를 읽은 것을 말함

 

Non-Repetable Reed

     - 한 트랜잭션 내에서 같은 쿼리를 두 번 수행 했을때 항상 같은 결과를 가져와야 되는데,

      그 사이에 다른 트랜잭션이 값을 수정 또는 삭제하여 두 쿼리의 결과가 달라지는것을 말함 

 

Phantom Read

     - Non-Repetable Reed 의 일종

     - 이미 읽은 데이터가 변경되는것이 아닌 쿼리 조건을 만족하는 조건을 이전보다 많이지거나 적어지는 현상

 

 

 

 

 


SQL 개발자 오답노트

 

1.

ORACLE에서 INSERT INTO 테이블명 VALUES('');

이처럼 공백을 넣으려고할때 '' 공백이 아닌 null 값이 들어가게 된다.

 

728x90