SQL 33

[SQLD] 6. SQLD 자격검정 실전문제 풀이(1) (Question&Answer) - 1~15문제

SQLD 자격검정 실전문제 풀이 (Question&Answer)                                         [SQLD] 5-1. SQL 최적화 기본 원리 - 옵티마이저와 실행계획, SQL 처리 흐름도 [SQLD] 5-1. SQL 최적화 기본 원리 - 옵티마이저와 실행계획, SQL 처리 흐름도A. 옵티마이저 정의 1. SQL은 사용자의 요구사항만 기술 2. 처리과정에 대한 기술은 하지 않음 3. 최적의 실행 방법을 결정하는 것이 옵티마이저의 역할 4. 사용자가 질의한 SQL문에 대해 최적의 실infoofit.tistory.com [TIP] 윈도우에서 인터넷 속도 향상시키는 10가지 방법 - 캐시 지우기, 애드웨어 제거, 라우터 초기화, 무선 신호 강화, 윈도우 재설치, DNS ..

[SQLD] 5-1. SQL 최적화 기본 원리 - 옵티마이저와 실행계획, SQL 처리 흐름도

A. 옵티마이저 정의 1. SQL은 사용자의 요구사항만 기술 2. 처리과정에 대한 기술은 하지 않음 3. 최적의 실행 방법을 결정하는 것이 옵티마이저의 역할 4. 사용자가 질의한 SQL문에 대해 최적의 실행 방법을 결정하는 역할을 수행 5. 최적의 실행 방법이 실행계획(Execution Plan)   B. 규칙기반 옵티마이저 1. 인덱스 유무와 SQL 문장에서 사용하는 연산자의 종류 그리고 SQL문에서 참조하는 객체의 종류 등을 참조해 실행계획을 생성 2. 인덱스를 이용한 액세스 방식이 전체 테이블 액세스 방식보다 우선순위가 높음 3. SQL순위에서 이용 가능한 인덱스가 존재한다면 엑세스 기법전체 테이블 액세스 방식보다는 항상 인덱스를 사용하는 실행계획을 생성  C. 비용기반 옵티마이저(CBO) 1. 규..

[SQLD] 4-9. SQL 활용 - 예상문제풀이 (Question&Answer)

문제 1. 다음 JOIN의 종류의 설명 중 틀린 것은 무엇인가?① EQUI JOIN은 반드시 PK, FK 관계에 의해서만 성립된다. ② NON-EQUI JOIN은 등가 조건이 성립되지 않은 테이블에 JOIN을 걸어주는 방법이다. ③ OUTER JOIN은 JOIN 조건을 만족하지 않는 데이터도 볼 수 있는 JOIN 방법이다. ④ SELF JOIN은 하나의 테이블을 논리적으로 분리시켜 EQUI JOIN을 이용하는 방법이다.  문제 2. 4개의 테이블로부터 필요한 칼럼을 조회하려고 한다. 최소 몇 개의 JOIN 조건이 필요한가? ① 2개 ② 3개 ③ 4개 ④ 5개  문제 3. 다음 SET 연산자에 대한 설명 중 틀린 것은 무엇인가?① UNION 연산자는 조회 결과에 대한 합집합을 나타내며 자동으로 정렬을 해준..

[SQLD] 4-8. SQL 활용 - 절차형 SQL, PL/SQL, Procedure 생성, User Defined Function, Trigger

A. 절차형 SQL 개요 1. DBMS 벤더별 PL(Procedural Language)/SQL(Oracle), SQL/PL(DB2), T_SQL(SQL Server) 절차형 SQL 제공 2. 절차형 SQL을 이용하면 SQL문의 연속적인 실행이나 조건에 따른 분기처리를 할 수 있음  B. PL/SQL 특징 1. Block 내에는 DML 문장과 QUERY 문장, 절차형 언어 등 사용 가능 2. 절차적 프로그래밍을 가능하게 하는 트랜잭션 언어 3. PL/SQL은 Block 구조로 되어있어 각 기능별로 모듈화가 가능 4. 변수, 상수 둥을 선언하여 SQL 문장과 값 교환 5. IF, LOOP 둥의 절차형 언어를 사용하여 절차적인 프로그램이 가능 6. DBMS 정의 에러나 사용자 정의 에러를 정의하여 사용 7...

[SQLD] 4-7. SQL 활용 - DCL, Oracle/SQL Server/DB 유저와 권한

A. DCL(DATA CONTROL LANGUAGE) 개요 - 유저를 생성하고 권한을 제어할 수 있는 명령어  B. 유저와 권한- 데이터베이스는 데이터 보호와 보안을 위해서 유저와 권한을 관리  Oracle 유저와 권한 특징1. 유저를 통해 데이터베이스에 접속을 하는 형태 2. 아이디와 비밀번호 방식으로 인스턴스에 접속 3. 스키마에 오브젝트 생성 등의 권한을 부여받음  SQL Server 유저와 권한 특징1. 로그인 생성 2. 인스턴스 내에 존재하는 데이터베이스에 연결하여 유저 생성 3. 로그인과 유저를 매핑 4. 특정 유저는 특정 데이터베이스 내의 특정 스키마에 대해 권한을 부여받을 수 있음  C. 유저 생성과 시스템 권한  Oracle - 유저생성1. 유저 생성은 CREATE USER 권한이 필요 ..

[SQLD] 4-6. SQL 활용 - 윈도우 함수, Window Function 문법, RANK, DENSE_RANK, ROW_NUMBER, SUM, COUNT, FIRST_VALUE, LAG, LEAD, RATIO_TO_REPORT, PERCENT_RANK, CUME_DIST, NTILE

A. Window Function 개요 1. 분석 함수(ANALYTIC FUNCTION)나 순위 함수(RANK FUNCTION) 2. 행과 행간의 관계 정의, 행과 행간 비교 및 연산하는 것 3. 데이터웨어하우스에서 발전 4. 서브쿼리에서 사용 가능  B. Window Function 문법   C. WINDOW FUNCTION 종류 윈도우 함수 설 명그룹 내 순위 함수RANK, DENSE_RANK, ROW_NUMBER 함수ANSI/ISO SQL 표준과 Oracle, SQL Server 등 대부분의 DBMS에서 지원그룹 내 집계 함수SUM,MAX, MIN, AVG, COUNT 함수 ANSI/ISO SQL 표준과 Oracle, SQL Server 둥 대부분의 DBMS에서 지원 SQL Server의 경우 집계..

[SQLD] 4-5. SQL 활용 - 그룹 함수, ANSI/ISO SQL 표준, ROLLUP, GROUPING, CUBE

A. 데이터 분석을 위한 함수 ( ANSI/ISO SQL 표준 )    B. GROUP FUNCTION - ROLLUPGROUP BY의 확장된 형태병렬 수행 가능시간 및 지역처럼 계층적 분류를 포함하고 있는 데이터의 집계에 적합지정된 칼럼목록은 소계를 생성하기 위해 사용Grouping Columns의 수+1 Level의 Subtotal이 생성ROLLUP의 인수는 계층 구조이므로 인수 순서가 바뀌면 수행 결과도 변경계증간 집계에 대해서는 LEVEL별로 정렬계층 내 GROUP BY 수행 결과는 정렬을 지원하지 않아 별도의 ORDER BY 절을 사용하여 정렬  C. GROUP FUNCTION - GROUPING 1. 소계가 계산되는 행은 1, 소계가 아닌 행은 2를 반환하는 함수  D. GROUP FUNCTI..

[SQLD] 4-4. SQL 활용 - 서브쿼리, 단일행 서브쿼리, 다중행 서브 쿼리, 다중 컬럼 서브 쿼리, 연관 서브 쿼리, 기타 서브 쿼리, 뷰(view)

A. 서브쿼리 - 서브쿼리 개요하나의 SQL문안에 포함되어 있는 또 다른 SQL문서브쿼리는 메인쿼리의 칼럼을 모두 사용할 수 있음메인쿼리는 서브쿼리의 칼럼을 사용할 수 없음질의 결과에 서브쿼리 칼럼을 표시해야 한다면 조인 방식으로 변환, 함수, 스칼라 서브쿼리(Scalar Subquery)를 사용서브쿼리는 서브쿼리 레벨과는 상관없이 항상 메인쿼리 레벨로 결과 집합이 생성 - 서브쿼리 주의사항괄호를 사용하여 서브쿼리 표시서브쿼리는 단일 행(Single Row)/복수 행(Multiple Row) 비교 연산자와 함께 사용단일 행 비교 연산자는 서브쿼리의 결과가 1 건 이하복수 행 비교 연산자는 서브쿼리의 결과 건수와 상관없음서브쿼리에서는 ORDER BY를 사용하지 못함 - 서브쿼리 사용 위치SELECT 절FR..

[SQLD] 4-2. SQL 활용 - 집합연산자(SET OPERATION) 개요, 종류, 사용법

A. 집합 연산자(SET OPERATION) 개요 1) 집합 연산자 개념1. JOIN과 더불어 두 개 이상의 테이블에서 데이터를 조회하는 방법 2. 여러 개의 질의의 결과를 연결하여 하나로 결합 3. 2개 이상의 질의 결과를 하나의 결과로 리턴 2) 집합 연산자 사용1. 서로 다른 테이블에서 유사한 형태의 결과를 반환하는 것을 하나의 결과로 합치고자 할 때 2. 동일 테이블에서 서로 다른 질의를 수행하여 결과를 합치고자 할 때 3. 튜닝관점에서 실행계획을 분리 3) 집합 연산자 유의점1. SELECT 절의 칼럼 수가 동일해야 함 2. SELECT 절의 동일 위치에 존재하는 칼럼의 데이터 타입이 상호 호환 가능해야 함 3. ORDER BY는 집합 연산을 적용한 최종 결과에 대한 정렬 처리로 마지막 줄에 한..

[SQLD] 4-1. SQL 활용 - 표준 조인, Standard SQL, Inner Join, Natural Join, Using Join, Cross Join, Outer Join

A. STANDARD SQL 개요1. 관계형 데이터베이스를 유일하게 접속할 수 있는 언어가 SQL 2. 벤더별로 일부 기능의 개발이 진행 중인 경우도 있고 벤더별로 특이한 기술 용어는 여전히 호환이 안 되고 있음 3. ANSI/ISO SQL 표준을 통해 STANDARD JOIN을 포함한 많은 기능이 상호 벤치마킹하면서 DBMS 간 평준화됨  B. ANSI/ISO 표준 SQL의 기능 1. STANDARD JOIN 기능 추가 (CROSS, OUTER JOIN 둥 새로운 FROM 절 JOIN 기능) 2. SCALAR SUBQUERY, TOP-N QUERY 둥의 새로운 SUBQUERY 기능 3. ROLLUP, CUBE, GROUPING SETS 등의 새로운 리포팅 기능 4. WINDOW FUNCTION 같은 새..

[SQLD] 3-10. SQL 기본 - 예상문제풀이 (Question&Answer)

문제 1. 다음 설명 중 맞는 것은 무엇인가?① 데이터베이스에는 단 한 개의 테이블만 존재할 수 있다. ② 데이터베이스 내에 테이블이란 존재하지 않는다. ③ 아주 복잡한 자료도 테이블은 하나만 만드는 것이 바람직하다. ④ 모든 자료는 실질적으로 테이블에 저장이 되며, 테이블에 있는 자료들을 꺼내 볼 수 있다.   문제 2. 데이터 유형에 대한 설명 중 틀린 것은 무엇인가? ① CHAR 유형은 고정 길이 문자형이다. ② VARCHAR 유형은 가변 길이 숫자형이다. ③ NUMERIC 유형은 숫자형 데이터를 표현한다. ④ DATE 유형은 날짜 데이터를 다룰 때 사용한다.   문제 3. 다음 중 테이블 명으로 가능한 것은 무엇인가? ① EMP100 ②100EMP ③ EMP-100 ④ 100_EMP  문제 4...

[SQLD] 3-9. SQL 기본 - 조인(JOIN), EQUI JOIN, JOIN 구문 주의 사항

A. 조인(JOIN)이란? 1. 두 개 이상의 테이블 들을 연결 또는 결합하여 데이터를 출력하는 것 2. 관계형 데이터 베이스의 가장 큰 장점이며 대표적인 핵심 기능 3. 일반적인 경우 행들은 PK나 FK 값의 연관에 의해 조인이 성립 4. 쿼리 성능에 지대한 영향을 미치므로 튜닝 포인트가 될 수 있음 5. 조인에는 EQUI JOIN(등가 조인), NON EQUI JOIN(비 등가 조인) 존재  B. EQUI JOIN 1. 두 개의 테이블 간에 컬럼 값들이 서로 정확하게 일치하는 경우에 사용되는 방법 2. 일반적으로 PK와 FK의 관계를 기반 3. 일부 EQUI JOIN은 PK와 FK의 관계가 성립되지 않을 수 도 있음 4. JOIN의 조건은 WHERE 절에 기술하여 “=” 연산자를 사용  C. EQUI..

[SQLD] 3-8. SQL 기본 - OrderBy정렬, SELECT 문장, ROWNUM, Top N 쿼리

A. ORDER BY 정렬 1. SQL 문장으로 조회된 데이터들을 특정 컬럼을 기준으로 정렬하여 출력 2. 정렬 방식을 지정하지 않으면 오름차순이 적용 3. 정렬 방식은 오름차순(ASC), 내림차순(DESC) 두 가지가 있음 4. SQL 문장의 제일 마지막에 ORDER BY 절이 위치 5. 숫자형 데이터 타입은 오름차순으로 정렬했을 경우에 가장 작은 값부터 출력 6. 날짜형 데이터 타입은 오름차순으로 정렬했을 경우 날짜 값이 가장 빠른 값이 먼저 출력 7. Oracle 에서 NULL값은 가장 큰 값 8. SQL Server 에서는 NULL 값은 가장 작은 값 9. ORDER BY 에 칼럼 대신 SELECT에서 사용한 ALIAS 명이나 칼럼 순서를 나타내는 정수도 사용 가능   B. SELECT 문장 실행..

[SQLD] 3-7. SQL 기본 - GroupBy절, 집계 함수, HAVING절, NULL처리

A. 집계 함수(Aggregate Function)1. 여러 행들의 그룹이 모여서 그룹당 단 하나의 결과를 돌려주는 함수 2. GROUP BY 절은 행들을 소그룹화 3. SELECT 절, HAVING 절, ORDER BY 절에 사용할 수 있음 4. 그룹에 대한 정보를 제공하므로 주로 숫자 유형에 사용 5. MAX, MIN, COUNT 함수는 문자, 날짜 유형에도 적용이 가능 6. 집계 함수는 GROUP BY 절과 같이 사용 7. 테이블 전체가 하나의 그룹이 되는 경우에는 GROUP BY 절 없이 단독으로도 사용 가능 8. SELECT절, HAVING, ORDER BY 절에 사용할 수 있음  B. 집계 함수(Aggregate Function) 종류집계 함수사용 목적 COUNT(*) NULL 값을 포함한 행..

[SQLD] 3-5. SQL 기본 - WHERE조건절, 연산자 종류, 비교연산자, LIKE연산자, NULL연산자, 논리연산자, 연산자 우선순위

A. WHERE 조건절 개요 1. DML을 이용하여 자료를 검색, 수정, 삭제할 때 구체적인 조건을 기술함으로써 작업 범위를 정의 B. 연산자 종류1. 요구 조건을 효율적으로 만족하는 쿼리문을 구성하기 위해서 연산자들을 사용 2. 비교연산자, SQL연산자, 논리연산자, 부정비교연산자, 부정 SQL연산자로 분류   C. 비교 연산자1. = : 좌측, 우측 값이 동일 할 경우 참 2. > : 죄측 값이 우측 값보다 큰 경우 참 3. >= : 죄측 값이 우측 값보다 크거나 동일할 경우 참 4. 5.    D. SQL 연산자1. BETWEEN A AND B : 좌측 값이 A 값과 B 값 사이에 있으면 참 2. IN (값1, 값 2 …) : 좌측 값이 IN () 안에 기술된 값이 하나라도 일치하면 참 3. LIK..

반응형