1. SQL 단일행 함수에서 SUBSTR() 함수와 INSTR() 함수에 대해 설명하고, 아래 쿼리문에 대한 결과를 작성하시오.
SELECT SUBSTR('abcde' , -3, 2) “-3,2”
FROM dual;
substr() : 문자열 잘라주는 함수
instr('a*b#','b') -> 3: 찾는 문자의 위치를 알려주는 함수
결과값: cd
책 70쪽
2. CASE문에 대해 설명하고 아래 유형에 대한 동작원리를 설명하시오.
CASE a WHEN B THEN C
WHEN E THEN F
조건에 따라 결과를 출력하는 함수
a 가 B이면 C를 출력하고
a가 E면 F를 출력
3. 정규식에서 기호 ^(캐럿)과 [^]의 차이에 대해 설명하시오.
^ : 뒤에 오는 문자가 첫글자로 오는 문자열 출력
[^] : 해당 문자가 아닌 문자 출력
책 124쪽
4. RANK()와 DENSE_RANK() 함수의 기능과 차이점에 대해 설명하시오.
두 함수의 기능은 순위를 정하는 함수
RANK 함수는 동일한 순위를 다른 건수로 취급 ex) 1 2 2 4 5
DENSE_RANK는 동일한 순위를 하나의 건수로 취급 ex) 1 2 2 3 4
5. SELECT s.studno "no", s.deptno1 "dno", d.dname "dname"
from student s, department d
where s.deptno1=d.deptno;
의 결과값을 표현하시오.
no dno dname
---------- ---------- ----------------------------------------------------------------------------------------------------
9411 101 Computer Engineering
9412 102 Multimedia Engineering
9413 103 Software Engineering
9414 201 Electronic Engineering
9415 202 Mechanical Engineering
9511 101 Computer Engineering
9512 102 Multimedia Engineering
9513 202 Mechanical Engineering
9514 301 Library and Information science
9515 201 Electronic Engineering
9611 101 Computer Engineering
9612 102 Multimedia Engineering
9613 201 Electronic Engineering
9614 201 Electronic Engineering
9615 301 Library and Information science
9711 101 Computer Engineering
9712 201 Electronic Engineering
9713 201 Electronic Engineering
9714 102 Multimedia Engineering
9715 103 Software Engineering
20 rows selected.
6. DELETE, TRUNCATE, DROP 명령어의 차이점에 대해 설명하시오.
delete: 테이블 안에 들어있는 열(row) 한줄 삭제
truncate: 테이블 컬럼은 놔두고 모든 열(rows) 삭제
drop: 테이블 삭제
delete -> 선택한 열을 삭제합니다. 컬럼은 삭제할 수 없습니다. * D:드라이브 속 파일 삭제
truncate -> 모든 열을 삭제합니다. 역시 컬럼은 삭제할 수 없습니다. * D:드라이브 파티션 포맷
drop -> 여러가지 열과 컬럼이 있던 해당 테이블 자체를 삭제합니다. * D:드라이브 파티션 제거
279페이지 그림 참조
7. CTAS (Create Table as select )명령어를 사용하여 profno, name, deptno를 갖는 professor4 테이블을 만드시오. (professor 테이블 이용)
create table professor4
as
select profno, name, deptno
from professor;
책 273쪽
8. 제약조건 5가지를 나열하고 의미에 대해 설명하시오.]
not null: 컬럼에 null값이 존재하지 않아야함
unique: 컬럼에 중복되는 값이 없어야함
primary key: 컬럼에 중복되는 값이 없고, null값이 존재하지 않아야함
foriegn key: 다른 테이블의 컬럼을 참조해서 검사
check: 조건에 설정된 값만 입력 허용
9. 이미 생성되어있는 student 테이블에 있는 tel컬럼에 UNIQUE 제약조건과 NOT NULL 제약조건을 추가하세요.
alter table student
add constraint student_tel_uk unique(tel);
alter table student
modify(tel constraint student_tel_nn not null);
10. B-TREE 인덱스 종류 3가지를 적고 간단하게 설명하시오.
Unique Index -> 인덱스 안에 있는 컬럼 키값에 중복되는 데이터가 없어 성능이 좋다.
Non-Unique Index -> 중복되는 데이터가 들어가야 하는 경우 사용(키로 지정한 필드에 중복된 값이 들어가도 된다.)
FBI Index(Function Based Index) -> 함수 기반의 인덱스이다. 인덱스에 쓰이지 않은걸로 where절을 작성하면 검색 쿼리가 돌아가기 때문에 느려진다.
11. 인덱스를 활용하여 정렬된 출력값을 표현하는 SQL문을 작성하시오. (테이블은 student, name 컬럼에 index 생성했음)
select name from student where name > '0'
'자료실2' 카테고리의 다른 글
G Macro (G메크로) 오토마우스 키보드 조절 프로그램 (1) | 2018.11.06 |
---|