-
[SQLD]공부8일차_진짜문제풀이만해보기2_241115자격증/SQLD 2024. 11. 15. 01:21반응형
# 최초 등록일 : 2024년 10월 15일 01:27
# 최근 변경일 : 2024년 10월 15일 18: 54
# 내용 : 2과목 문제풀이중7일차부터 계속 문제푸는중!!
문제 풀면서 놓쳤던 이론과 방식 익숙해지는 중
------------------------------------------------------------------------------------------------------------------------------
SQLD 문제 풀이-------
SQL 자격검정 실전문제
문제: 98~127 / 36~99
다시 풀어봐야하는 항목: 98, 100, 101, 106, 115, 116, 118, 121, 122 / 50, 52, 55, 58, 63, 65, 66, 68, 74, 78, 793, 80, 82, 95, 99, 109, 113, 116, 119SQL 자격검정 실전문제
* GROUP BY
> GROUPING SET(A, B) == A별 B별 그룹 연산 결과 출력, 나열 순서 중요 X, 전체 합계 출력 X
> ROLLUP(A, B) == A별 A,B별 전체 그룹 연산 결과 출력, 나열 순서가 중요, 전체 합계 출력 O
> CUBE(A,B) : A별, B별, AB별, 전체 그룹 연산 결과 출력, 나열 순서 중요 X, 전체 총계가 출력
// rollup : 1차원 cube : 다차원 grouping set : 직접 그룹핑
// grouping
* 순위 관련 함수
> RANK(순위) : RANK WITHIN GROUP : 특정값에 대한 순위 확인, 윈도우함수가 아닌 일반함수
> RANK() OVER() : 전체 그룹 중 값의 순위 확인, ORDER BY 필수
> DENSE_RANK : 누적순위, 동일한 순위 부여 후 다음 순위가 바로 이어지는 순위 부여 방식
> ROW_NUMBER : 연속된 행 번호, 동일한 순위를 인정하지 않고 단순히 순서대로 나열한대로의 순서 값 리턴
> LAG, LEAD : 행 순서대로 각각 이전 값(LAG), 이후값(LEAD) 가져오기, ORDER BY 필수
> FIRST_VALUE, LAST_VALUE : 정렬순서대로 정해진 범위에서의 처음 값, 마지막 값 출력, 순서와 범위 정의에 따라 최솟값과 최댓값 리턴 가능, PARTITION BY, ORDER BY절 생략 가능
* ROLE(롤): 권한의 묶음, SYSTEM 계정에서 ROLE 생성 가능
* 권한 부여 옵션 : 중간관리자의 권한
> WITH GRANT OPTION : 오브젝트 권한을 다른 사용자에게 부여, 중간관리자가 부여한 권한은 중간관리자만 회수 가능, 중간관리자에게 부여된 권한 회수 시 제 3자에게 부여된 권한도 함께 회수됨
> WITH ADMIN OPTION : 시스템 권한/롤 권한은 다른 사용자에게 부여, 중간관리자를 거치지 않고 직접 회수 가능, 중간관리자 권한 회수시 제 3자에게 부여된 권한도 함께 회수X
* 윈도우 함수 : 서로 다른 행의 비교나 연산을 위해 만든 함수, GROUP BY 하지 않고 그룹 연산 가능
> PARTITION BY 절 : 출력할 총 데이터 수 변화 없이 그룹 연산 수행할 GROUP BY 컬럼
> ORDER BY 절 // partition by ~ order by ~ 가 있으면 누적 합계를 표시함
> ROWS|RANGE BETWEEN A AND B : 연산 범위 설정, ORDER BY 필수
* 계층형 질의 : 하나의 테이블 내 각 행끼리 관계를 가질 때, 연결고리를 통해 행과 행 사이의 계층을 표현하는 기법
> PRIOR의 위치에 따라 연결하는 데이터가 달라짐 > select where 절에도 사용 가능
> START WITH : 데이터를 출력할 시작 지정하는 조건
> CONNECT BY PRIOR : 행을 이어나갈 조건
> NOCYCLE : 순환이 발생하면 무한 루프가 될 수 있기 때문에 이를 방지하고자 사용
* 조인의 종류
> 조건의 형태에 따라 EQUI JOIN(등가 JOIN) : JOIN 조건이 동등 조건인 경우, NON EQUI JOIN : JOIN 조건이 동등 조건이 아닌 경우
> 조인 결과에 따라 INNER JOIN, OUTER JOIN(LEFT, RIGHT, FULL OUTER JOIN), NATURAL JOIN, CROSS JOIN, SELF JOIN
> INNER JOIN : JOIN 조건에 성립하는 데이터만
> OUTER JOIN : 성립하지 않는 데이터도
> NATURAL JOIN : 조인 조건 생략 시 두 테이블에 같은 이름으로 자연 연결
> CROSS JOIN : 조인 조건 생략 시 두 테이블의 발생 가능한 모든 행을 출력하는 조인, 카타시안곱으로 출력
> SELF JOIN : 하나의 테이블을 두 번 이상 참조하여 연결하는 조인
> ON : JOIN의 조건을 넣어서 조인 (cf. join ~ on ~)
> USING : (cf. join ~ using (~)) -> using안에 있는 것이 join의 조건
* PK (기본키) : 유일한 식별자, 중복 허용 X, NULL 허용 X (UNIQUE INDEX, NOT NULL)
> ALTER TABLE PRODUCT ADD CONSTRAINT PRODUCT_PK PRIMARY KEY (PROD_ID)
// 또틀림!!
** Delete(modify) action : Cascade, Set Null, Set Default, Restrict
> Cascade : 부모삭제시 자식 같이 삭제
> Set null : 부모 삭제시 자식 null
> Set default : 부모 삭제시 자식 default 값
> Restrict : 자식 테이블에 PK가 없는 경우만 부모 삭제 허용
> No Action : 참조무결성을 위반 하는 삭제/수정 액션을 취하지 않음
** Insert action: automatic, set null. Set default, dependent
> Automatic : 부모 테이블에 PK가 없는 경우 부모 PK를 생성 후 자식 입력
> Set null : 부모 테이블에 PK가 없는 경우 자식 외부키 NULL 값으로 처리
> Set default : 부모 테이블에 PK가 없는 경우 자식 외부키 Default값으로 처리
> Dependent : 부모 테이블에 PK가 존재할 때만 자식 입력 허용
반응형'자격증 > SQLD' 카테고리의 다른 글
[SQLD]55회SQLD_합격여부_후기적기_241224 (0) 2024.12.24 [SQLD]공부9일차_D-1+준비사항_241116 (0) 2024.11.16 [SQLD]공부7일차_진짜문제풀이만해보기_241114 (0) 2024.11.14 [SQLD]공부6일차_2과목이론양많네...?_241113 (6) 2024.11.13 [SQLD]공부5일차_1과목마무리!+2과목_241112 (4) 2024.11.12