개발/Database
[SQLD] 40회 시험 후기
개발 여행
2021. 3. 22. 14:38
728x90
후기)
객관식 (40문제) + 주관식 (10문제)로 총 50문제가 출제되었다.
1과목(1번~10번)
생각보다 헷갈리는 개념들이 많이 나와서 시간을 많이 소비했다.
2과목(11번~50번)
평이한 문제도 있었고, 쉽지 않은 문제도 있었다. 주관식은 쉽게 나왔던 것 같다.
결과는 2021.04.16(금)에 나온다고 한다.
기억이 나는 문제들과 카페의 후기를 참고하여 문제 정리
1과목
번호 | 문제 | 답 |
1 | 다이어그램 그림을 제시하고, 옳은 것을 선택 | 3번 3) IE표기법은 점선으로 표기 4) baker 표기법은 UID bar |
2 | 관계차수 1:1, M:M 등등 설명 제시 후 옳은 것 | 관계 차수 |
3 | 엔터티 특징으로 옳지 않은 것 | 1개 이상의 인스턴스로 구성되어 있다. |
4 | 엔터티에 대한 설명 제시 후 옳은 것 ( 주식별자만 존재하고 일반속성은 전혀 없는 경우도 마찬가지로 적절한 엔터티라고 할 수 없다. 단, 예외적으로 이 경우는 주식별자 속성만 가지고 있어도 엔터티로 인정한다. 이것은 무엇인가?) |
1) 개념 2)기본 3)관계 4)행동 (이렇게 네개가 있었던 것으로 기억) 관계엔터티 |
5 | 가, 나, 다, 라 3개 중 옳은 것 | 가, 다 |
6 | 속성의 특징 중 틀린 것 | 하나의 속성은 여러 값을 가질 수 있음 (확실히 기억이 안 남) |
7 | 건강검진 | 카페에 보니 인조식별자 생성 보기가 정답이라고 합니다. (확실히 기억이 안 남) |
8 | 정규화 (정규화에 대한 설명 제시 후 옳은 것) | (저는 2정규형으로 답했지만) 제1정규형이라고 합니다 |
9 | 정규화를 진행했을 때 서비스계약의 다이어그램으로 옳은 것 | 3번째 그림으로 기억 |
10 | 데이터 모델링의 이해 (상세화는 식별자 확정, 정규화, M:M 관계 해소, 참조 무결성 규칙 정의 등의 설명이 있었던 것으로 기억) 설명에 대해 옳은 것 |
논리적 모델링(번호는 기억이 안 남) |
2과목-객관식
번호 | 문제 | 답 |
11 | LAG, LEAD, 서브쿼리의 구문 중 다른 하나 찾기 | 4번 LEAD(...) order by ... DESC (이런 식의 구문이었던 것으로 기억) |
12 | 데이터베이스 관련 설명으로 옳지 않은 것 | 1번 비정상적으로 종료되면 자동 commit 된다. |
13 | null 옳은 것 | 1번 is not null이 포함된 구문 |
14 | 쿼리 순서 옳은 것 | FROM→ WHERE→GROUP BY→HAVING→SELECT→ORDER BY |
15 | GROUPING 결과 옳은 것 | 10005, 100 / 20051, 400 |
16 | GROUP BY 문제 (직급별로 그룹지었을 때 9명 이상을 검색하는 구문 찾기) |
GROUP BY 직급 HAVING COUNT(*) >=9 |
17 | 트리 계층형 질의 | (정확히 기억 안 남) START WITH ... CONNECT BY PRIOR 구문에서 옳은 것 고르는 문제로 기억 |
18 | 정렬 문제 옳은 것은? |
(정확히 기억 안 남) WHERE column1, column2 DESC |
19 | JOIN 문제 결과로 옳은 것 JOIN 결합이 아래와 같은 것으로 기억 col1 = col2(+) and col2 = col3(+) and col3= col4 |
1 outer, outer, inner 조인으로 최종 1행만 남음 |
20 | union all 했을 때, sum의 값은? | 16 (정확히 기억 안 남) |
21 | Union 틀린 것 | 4번 UNION 시 ORDER BY는 각 쿼리별로 사용할 수 있다 |
22 | 테이블 두개 제시 후 JOIN count(*)로 옳은 것 | 100 (Cartesian Product 10*10 --> 조인 조건절을 적지 않게 되면 해당 테이블에 대한 모든 데이터를 전부 가져오게 된다.) |
23 | 오류가 발생하는 것 | order by 년 GROUP BY 절이 있는 경우는 GROUP BY 대상 컬럼과 집계함수만 ORDER BY절에서 참조 가능. GROUP BY를 통해 원천 집합을 집계했기 때문에 |
24 | User2가 User1의 table SELECT시 오류가 발생했을 때 오류 해결 방법 | GRANT SELECT ON tableA TO user2 |
25 | MINUS 관련 구문 제시 후 옳은 것 | 4번 1, 2, 3 모두 옳다 |
26 | sql 제시 후 결과가 다른 것 (IN, AND, OR 조건이 섞여있는 보기 - 각각 where절 조건이 조금씩 달랐음) |
WHERE id=123 AND A OR B OR C |
27 | 그룹 함수 문제 결과 테이블 그림 제시 후 맞는 sql 고르는 문제 |
GROUP BY 회원번호, ROLLUP(B) |
28 | NTILE 문제 NTILE(2)로 기억 |
4번 ----------- 1 | 1 | 2 2 | 3 | 4 ----------- |
29 | 옳은 것 | 500에 대한 key A 는 10이다. |
30 | 윈도우 함수 ROWS, RANGE 문제 결과 제시 후, 이 결과가 나오는 조건 선택 |
4번 (보기는 정확히 기억 안남) 1) SELECT COUNT(*) OVER( ) ROW 1 PRECEDING 1 FOLLOWING 2) SELECT COUNT(*) OVER( ) ROW 50 PRECEDING 150 FOLLOWING 3) SELECT COUNT(*) OVER( ) RANGE 1 PRECEDING 1 FOLLOWING 4) SELECT COUNT(*) OVER( ) RANGE 50 PRECEDING 150 FOLLOWING |
31 | 쿼리에 대한 결과 옳은 것 (SELECT --- ROW_NUMBER() OVER (PARTITION BY 추천?? ORDER BY 추천점수 DESC) AS RNUM FROM 추천내역) WHERE RNUM = 1; |
3번 ------------- 이순신 | 80 홍길동 | 88 강감찬 | 98 -------------- 3건의 partition으로 분리했을 때 각 partition별로 max값을 구하는 문제였음 |
32 | 합산 문제였는데 정확히 기억이 안 남 | CUBE |
33 | 트랜잭션의 설명으로 옳은 것 | 4번 (정답이 정확하지 않음) COMMIT, ROLLBACK은 무결성을 위함이다. |
34 | 정렬 문제 - 옳은 것은? (날짜, 주문 번호 등등 컬럼이 존재했고 쿼리에 대한 결과 제시) |
(정확히 기억 안 남) WHERE 날짜 DESC, 주문번호 ASC |
35 | 오류가 나지 않는 것 | 3번 INSERT INTO --- VALUES.. ( 'a','b',NULL,'c') 1) pk 자리에 null 입력 2) not null 컬럼에 null 입력 3) unique 컬럼에 null 입력 4) not null 컬럼에 null 입력 unique 속성이 설정되어 있을 경우 null 입력이 가능하다. |
36 | char vs varchar (자료형 char(4), varchar(4)로 creation 한 것으로 기억) SELECT SUM(col1)은? |
3번) 6 1) char 'AA' varchar 'AA' 2) char 'BB' varchar 'BB ' 3) char 'CC' varchar ' CC' 4) char' DD' varchar ' DD ' char는 할당된 변수 값의 길이가 4보다 작을 경우에는 그 차이만큼 공백으로 채워지기 때문에 2번과 4번의 경우에만 같다. 따라서 2+4 = 6 |
37 | INSERT CREATE ROLLBACK에 관한 문제 | (정확히 기억 안 남) |
38 | 모든 사원에 대한 상사를 검색하는 sql 옳은 것 | LEFT OUTER JOIN A.mgrno = B.empno |
39 | null인 것 | null ('a','a') |
40 | null이 아닌 것 | coalespe( NULL, '1','2') 1) decode( 'a','b','c') 2. case when - then - end (else 없는 경우) 3) nullif('a','a') 4) colease (NULL,'1','2') |
2과목-단답
번호 | 문제 | 답 |
1 | SQL 결과보고 빈칸 | ROLLUP |
2 | RANK 함수 (SQL 실행 결과 1,2,2,3,4,5...로 표시되는 그림 제시) |
DENSE_RANK |
3 | VIEW에 대한 설명 제시 후 이것은 무엇인가? | VIEW |
4 | 권한 부여 SQL 빈칸 채우기 | GRANT |
5 | SQL MERGE 구문 제시 후 빈칸 | MERGE INTO |
6 | USER가 생성한 것 까지 삭제하는 것은? 빈칸 | CASECADE |
7 | 계층형 질의 | 저는 틀린 문제이지만 카페에 보면 KING이라고 하네요 |
8 | 오라클 아우터 조인으로 되어있는 구문을 ANSI로 | RIGHT OUTER JOIN |
9 | SQL 결과 | 3, 200 |
10 | COLEASE(NULLIF('a','a'),2,3)의 결과는? | 2 |
728x90