[DB/SQLD] SQLD 기출문제 2과목 SQL 기본 및 활용 중요개념 (2)

1 분 소요

1

“_“가 들어가 있는 문자열을 찾는 sql문은

select * from sqld_18 where name like ‘%@_%’ ESCAPE ‘@’

2

인덱스의 특징

  • 인덱스는 원하는 데이터를 쉽게 찾을 수 있도록 돕는 책의 찾아보기(색인)과 유사한 개념이다.
  • 인덱스는 테이블을 기반으로 선택적으로 생성할 수 있는 구조이다.
  • 인덱스의 기본적인 목적은 검색 성능의 최적화이다.
  • 검색 조건을 만족하는 데이터를 인덱스를 통해 효과적으로 찾을 수 있도록 돕는다.
  • dml 작업은 테이블과 인덱스를 함께 변경하므로 느려지는 단점이 존재한다.
  • 인덱스 중 b-트리 인덱스는 equal 조건뿐 아니라 between, >과 같은 연산자로 검색하는 범위 검색에도 사용될 수 있다.

3

애플리케이션, trigger, 제약조건의 경우 데이터 무결성을 보장하기 위한 방법이다.

4

lock은 병행성 제어(동시성) 기법이다.

5

select substr(to_char(‘20190504’),5,2) from dual –> 05

select extract(month from date ‘2020-05-01’) from dual –> 5

6

select round(3.45, 1) as col1 from dual –> 3.5

7

프로시저 트리거
create procedure 문법사용 create trigger 문법 사용
생성하면 소스코드와 실행코드가 생성 생성하면 소스코드와 실행코드가 생성
execute 명령어로 실행 생성 후 자동 실행
commit, rollback 실행가능 commit, rollback 실행 불가

8

full access join을 수행하는 두 개의 테이블에 대해서 nested loop join을 수행하면 두개의 테이블에서 모든 행마다 join연산을 수행하므로 성능이 떨어진다.

9

sql server의 경우 rollback이 수행된 후 update, create 구문 모두 취소된다.

oracle의 경우 rollback이 수행된 후 update는 취소되지 않는다.

10

trunc : 소수점 m 자리에서 절삭한다.

11

oracle은 null을 가장 큰 값으로 취급하여 order by 시 맨 뒤로 정렬되고, sql server는 반대이다.

12

partiton과 group by 둘다 파티션을 분할한다는 의미에서 유사

window function 처리로 결과 건수가 줄어들지는 않는다.

group by 구문과 window function은 병행하여 사용할 수 없다.