728x90
1. 인덱스에 의하여 검색속도를 향상시킬 수 있는 질의로 적절하지 않은 것?
2. 인덱스에 연산을 하면 인덱스가 망가져서 불가능하다.
2. 분산 데이터베이스?
- 분산 데이터베이스의 장점
- 데이터베이스의 신뢰성과 가용성이 높다
- 분산 데이터베이스가 병렬 처리를 수행하기 때문에 빠른 응답이 가능하다.
- 분산 데이터베이스를 추가하여 시스템 용량 확장이 쉽다.
- 데이터베이스의 신뢰성과 가용성이 높다
- 분산 데이터베이스의 단점
- 데이터베이스가 여러 네트워크를 통해서 분리되어 있기 때문에 관리와 통제가 어렵다.
- 보안관리가 어렵다.
- 데이터 무결성 관리가 어렵다.
- 데이터베이스 설계가 복잡하다.
- 데이터베이스가 여러 네트워크를 통해서 분리되어 있기 때문에 관리와 통제가 어렵다.
3. SQL문 수행 결과?
- 숫자와 NULL을 더하면 NULL이다.
- WHEN SUM (COL1 + COL2) IS NULL THEN 0
ELSE SUM (COL1 + COL2) 이므로 아래와 같다.
NULL + 10 = NULL -> 0
12 + NULL = NULL -> 0
NULL + NULL = NULL -> 0
10 + 12 = 22 - 따라서 22가 된다.
4. 연산자 우선순위?
- 산술 연산자(*, -, +, /)
- 연결 연산자(||)
- 비교 연산자(<, >, =, <>, <=, =>)
- IS NULL, LIKE, IN
- BETWEEN
- NOT 연산자
- AND 연산자
- OR 연산자
5. SELF JOIN?
- SELF JOIN은 동일한 테이블에서 발생하는 조인을 의미한다.
- FROM절에 동일한 테이블명이 두 번 이상 나타난다.
- SELF JOIN을 하기 위해서 동일한 테이블을 두 번 이상 사용하므로 FROM절에 별칭(Alias)을 사용해야 한다.
- ex)
[SELF JOIN]
SELECT A.컬럼명, B.컬럼명
FROM 테이블1 A, 테이블2 B
WHERE A.컬럼명2 = B.컬럼명1
6. SQL문 수행 결과?
- GROUP BY COL1을 수행하면
-> 조조 : 1개
-> 유비 : 2개
-> 관우 : 3개
-> 여포 : 1개
-> 초선 : 1개
가 된다. - 여기서 HAVING COUNT(*) > 2는 갯수가 2개 초과인것(관우)의 갯수를 물어보는 것이니
- 3개이다.
7. 순수 관계 연산자?
- SELECT(σ)
- 릴레이션에 존재하는 튜플 중에서 선택 조건을 만족하는 튜플의 부분집합을 구하여 새로운 릴레이션을 만듦
- 릴레이션의 행(가로)에 해당하는 튜플을 구하는 것이므로 수평 연산이라고도 함
- 연산자의 기호는 그리스 문자 시그마(σ)를 사용함
- 릴레이션에 존재하는 튜플 중에서 선택 조건을 만족하는 튜플의 부분집합을 구하여 새로운 릴레이션을 만듦
- PROJECT(π)
- 주어진 릴레이션에서 속성 List에 제시된 Attribute만을 추출하는 연산
- 릴레이션의 열(세로)에 해당하는 Attribute를 추출하는 것이므로 수직 연산자라고도 함
- 연산자의 기호는 그리스 문자 파이(π)를 사용함
- 주어진 릴레이션에서 속성 List에 제시된 Attribute만을 추출하는 연산
- JOIN(⋈)
- 공통 속성을 중심으로 2개의 릴레이션을 하나로 합쳐서 새로운 릴레이션을 만드는 연산
- 연산자의 기호는 ⋈ 를 사용함
- 조인 조건이 '='일 때 동일한 속성이 두 번 나타나게 되는데, 이 중 중복된 속성을 제거하여 같은 속성을 한 번만 표기하는 방법을 자연(NATURAL) 조인이라고 함
- 공통 속성을 중심으로 2개의 릴레이션을 하나로 합쳐서 새로운 릴레이션을 만드는 연산
- DIVISION(÷)
- X ⊃ Y 인 두 개의 릴레이션에서 R(X), S(Y)가 있을 때, R의 속성이 S의 속성값을 모두 가진 튜플에서 S가 가진 속성을 제외한 속성만을 구하는 연산
8. RANK(), DENSE_RANK(), ROW_NUMBER()?
- RANK() : 중복값은 중복등수, 등수를 건너 뛴다.(1위, 1위, 3위, 4위)
- DENSE_RANK() : 중복값은 중복등수, 등수를 건너 뛰지 않는다.(1위, 1위, 2위, 3위) / 그리고 동일 등수 순위에 영향이 없다.
- ROW_NUMBER : 중복값이 있어도 고유 등수를 부여한다.(1위, 2위, 3위, 4위)
9. ORACLE과 SQL SERVER?
10. SQL문 최종결과?
- COMMIT시점으로 ROLLBACK을 시킨다.
- 따라서 TABLE안에는
1,1000
2, 2000
3, 3000
4, 4000
5, 5000
6, 6000
이 들어있다. - 여기서 마지막에 SELECT COUNT(COL1) FROM PRODUCT WHERE COL2 = 2000; 이니까
- 1개가 된다.
11. 빈 칸 채우기
- WHERE절에서 A.COL1 <> B.COL1이므로 A.COL1 컬럼을 기준으로 다른 수의 갯수를 카운트 한다.
- A테이블 A.COL1 <> B.COL1 B테이블
COL1 COL2 COL1 COL2
1 1 COL1 이 1일 때 다른수는 2, 3, 3 -> 3개 1 1
1 2 COL1 이 1일 때 다른수는 2, 3, 3 -> 3개 1 2
2 1 COL1 이 2일 때 다른수는 1, 1, 3, 3 -> 4개 2 1
3 1 COL1 이 3일 때 다른수는 1, 1, 2 -> 3개 3 1
3 2 COL1 이 3일 때 다른수는 1, 1, 2 -> 3개 3 2 - 따라서 3 + 3 + 4 + 3 + 3 = 16개이다.
12. 빈 칸 채우기
- CROSS JOIN의 결과 개수는 두 테이블의 행의 개수를 곱한 개수가 된다.
- CROSS JOIN은 상호 조인 이라고도 불리며, 한 쪽 테이블의 모든 행과 다른 테이블의 모든 행을 조인시키는 기능을 한다.
- 이러한 CROSS JOIN을 카테시안 곱(Cartesian Product)라고도 한다.
'WorkHard > 자격증' 카테고리의 다른 글
[SQLD 개발자] 기출문제 공부(45회) (0) | 2023.03.18 |
---|---|
[SQLD 개발자] 기출문제 공부(39회) (0) | 2023.03.18 |
[SQLD 개발자] 기출문제 공부(37회) (0) | 2023.03.16 |
[SQLD 개발자] 기출문제 공부(33회) (0) | 2023.03.15 |
[SQLD 개발자] 기출문제 공부(33회) (1) | 2023.03.14 |