728x90
1. 아래의 결과값이 들어가 있는 것은?
- LIKE 연산으로 %나 _가 들어간 문자를 검색하기 위해서는 ESCAPE 명령어를 사용할 수 있다. 사용 방법은 _나 %앞에 ESCAPE로 특수 문자를 지정하면 검색할 수 있다.
2. SQL문의 결과값?
- ROWNUM = 1은 사용가능 하지만 ROWNUM = 2인 경우 데이터가 추출되지 않는다.
3. 집합 연산자?
- UNION : 중복된 행을 제거하고 정렬한다.
- UNION ALL : 합집합이다.
- EXCEPT : SQL SERVER에서 사용한다. / ORACLE에서는 MINUS 차집합이다.
- INTERSECT : 교집합이다.
4. WINDOW FUNCTION
- UNBOUNDED PRECEDING은 End Point에서 사용할 수 없다.
- RANGE BETWEEN Start_Point AND End_Point이다.
- Start_Point값은 End_Point값과 같거나 작은 값이 들어간다.
- Default값은 RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW가 된다.
- UNBOUNDED PRECEDING : Start_Point만 들어갈 수 있으며 파티션의 First Row가 된다.
- UNBOUNDED FOLLOWING : End_Point만 들어갈 수 있으며 파티션의 Last Row가 된다.
- CURRENT ROW : Start_Point, End_Point 둘 다 가능하다. 윈도우는 CURRENT ROW에서 Start 하거나 End 한다.
5. 인덱스의 특징?
- 원하는 데이터를 쉽게 찾을 수 있도록 돕는다.
- 테이블을 기반으로 선택적으로 생성할 수 있다.
- 기본적인 목적은 검색 성능의 최적화이다.
- 검색 조건을 만족하는 데이터를 인덱스를 통해 효과적으로 찾을 수 있게 돕는다.
- DML작업은 테이블과 인덱스를 함께 변경하므로 느려지는 단점이 존재한다.
- 인덱스 데이터는 인덱스를 구성하는 컬럼의 값으로 정렬을 수행한다.
- 인덱스 중 B-TREE 인덱스는 Equal 조건뿐 아니라 BETWEEN, > 와 같은 연산자로 검색하는 범위 검색에도 사용될 수 있다.
6. Subquery? View?
- Subquery
- SELECT 스칼라 서브쿼리 : 스칼라 서브쿼리는 한 행, 한 컬럼만을 반환하는 서브쿼리를 말한다.
- FROM 인라인 뷰 : 서브쿼리가 FROM절에 사용되면 동적으로 생성된 테이블인 것처럼 사용할 수 있다. 인라인 뷰는 SQL문이 실행될 때만 임시적으로 생성되는 동적인 뷰이기 때문에 데이터베이스에 해당 정보가 저장되지 않는다.
- WHERE / HAVING 서브쿼리 : 그룹함수와 함께 사용될 때 그룹핑된 결과에 대해 부가적인 조건을 주기 위해 사용한다.
- View
- 뷰의 개념 : 테이블은 실제로 데이터를 가지고 있는 반면, 뷰는 실제 데이터를 가지고 있지 않다. 질의에서 뷰가 사용되면 뷰 정의를 참조해서 DBMS 내부적으로 질의를 재작성하여 질의를 수행한다. 뷰는 실제 데이터를 가지고 있지 않지만 테이블이 수행하는 역할을 수행하기 때문에 가상 테이블이라고도 한다.
- 독립성 : 테이블 구조가 변경되어도 뷰를 사용하는 응용프로그램은 변경하지 않아도 된다.
- 편리성 : 복잡한 질의를 뷰로 생성함으로써 관련 질의를 단순하게 작성할 수 있다.
- 보안성 : 숨기고 싶은 정보가 존재하는 경우, 뷰를 생성할 때 해당 컬럼을 빼고 생성하여 정보를 숨길 수 있다.
7.
- SUBSTR : 문자열 슬라이싱(Example. ('20190504'), 5, 2 -> 5번째 글자부터 2개 출력)
- EXTRACT(TEAR / MONTH / DAY FROM SYSDATE) : 연, 월, 일을 뽑아서 출력
- CONCAT : 문자열 결합
- TRIM : 공백 제거
8. 빈칸에 올 수 없는 함수는?
- 단일행 서브쿼리
- 서브쿼리의 실행 결과가 항상 1건 이하인 서브쿼리
- 항상 비교연산자와 함께 사용된다.
- 비교연산자 뒤에는 단일행이 와야 하는데 뒤에 GROUP BY DEPT는 다중행 함수로 에러가 발생한다.
- 다중행 서브쿼리
- 서브쿼리의 실행 결과가 여러 건인 서브쿼리
- 메인 쿼리의 조건절에 여러 컬럼을 동시에 비교할 수 있다.
- 서브쿼리와 메인쿼리의 컬럼 수와 컬럼 순서가 동일해야 한다.
9. SQL결과?
- FROM절에서 DISTINCT로 중복 값이 지워지고 (1, A), (1, B)두개가 남는다.
- SELECT절에서 COUNT하면 2, 2가 된다.
10. SQL결과?
- ROLLUP(COL1), COL1은 (A), A / (), A / (B), B / (), B / (C), C / (), C 총 6개이다.
11. SQL의 빈칸완성하기
- RANK() : 중복값은 중복등수, 등수를 건너뛴다.
- ROW_NUMBER() : 중복값이 있어도 고유 등수를 부여한다.
- DENSE_RANK() : 중복값은 중복등수, 등수를 건너뛰지 않는다.
'WorkHard > 자격증' 카테고리의 다른 글
[SQLD 개발자] 기출문제 공부(37회) (0) | 2023.03.09 |
---|---|
[SQLD 개발자] 기출문제 공부(37회) (0) | 2023.03.08 |
[SQLD 개발자] 기출문제 공부(35회) (0) | 2023.03.06 |
[SQLD 개발자] 기출문제 공부(34회) (0) | 2023.03.03 |
[SQLD 개발자] 기출문제 공부(30회) (0) | 2023.03.03 |