Search
Duplicate

오답노트

태그
2과목
오답노트
01
다음 SQL 문 실행 결과로 올바른 것은?
SELECT COALESCE(NULL, '2', '1') FROM DUAL;
SQL
복사
COALESCE 함수는 NULL 이 아닌 인자를 반환하는 함수이다. 첫번째는 NULL, 두번째는 NULL 이 아니기 때문에 2 를 반환한다.
02
다음 중에서 EQUI JOIN 에서만 나타나는 실행계획은 무엇인가? HASH JOIN
03
계층형 조회에서 가장 상위 레벨의 값은 무엇인가? 1
04
그룹 함수 중에서 각 그룹에 대해서 SUB-TOTAL 을 만들어 주는 것은? ROLLUP
05
DELETE FROM 과 TRUNCATE TABLE
DELETE FROM 문은 테이블의 데이터를 삭제할 수 있지만, 테이블의 구조는 삭제할 수 없다.
TRUNCATE TABLE 테이블은 데이터를 빠르게 삭제하며 로그를 기록하지 않는다.
TRUNCATE TABLE 은 특정 행만을 삭제할 수 없다
DELETE FROM 문은 특정 행만을 삭제할 수 있다.
06
TRUNCATE TABLE 은 외래키 무결성을 확인하지 않고 테이블에 대해서 LOCK 을 획득 후 일괄적으로 빠르게 삭제한다. 또 TRUNCATE TABLE 로 삭제를 실시하면 테이블 용량도 초기화된다.
07
날짜 데이터를 문자로 바꾸고 문자에서 연도만 출력하는 SQL 문은?
SELECT TO_CHAR(SYSDATE, ‘YYYY’) FROM DUAL;
SQL
복사
08
다음의 SQL 실행 결과
SELECT CONCAT ('AB', 'CD'), // ABCD LTRIM(' AB') // AB FROM DUAL;
SQL
복사
09
다음 SQL 문을 ANSI/ISO 표준으로 바꾸기
SELECT * FROM EMP, DEPT WHERE EMP.DEPTNO = DEPT.DEPTNO; SELECT * FROM EMP INNER JOIN DEPT;
SQL
복사
10
commit 과 rollback 의 장점
데이터 무결성 보장
영구적인 변경을 하기 전에 데이터의 변경 사항 확인 가능
논리적으로 연관된 작업을 그룹핑하여 처리 가능
11
SELF JOIN 은 하나의 테이블에서 두 개의 칼럼이 연관 관계를 가지고 있는 경우에 사용한다.
12
테이블에 대한 권한은 각 테이블의 소유자가 가지고 있기 때문에 소유자로부터 권한을 받지 않으면 다른 유저의 테이블에 접근할 수 없다.
13
실행 계획은 SQL 문의 처리를 위한 절차와 방법이 표현된다.
동일 SQL 문에 대해 실행 계획이 다르다고 결과가 달라지지 않는다. 그러나 실행 계획의 차이로 성능이 달라질 수 있다.
실행 계획은 액세스 기법, 조인 순서, 조인 방법 등으로 구성된다.
최적화 정보는 실행 계획의 단계별 예상 비용을 표시한 것이다.
14
인덱스는 내림차순으로 생성및 정렬된다.
비용적인 측면에서는 인덱스 스캔보다 전체 테이블 스캔이 유리할 수 있다.
규칙 기반 옵티마이저의 규칙에 따라 적절한 인덱스가 존재하면 전체 테이블 스캔보다는 항상 인덱스를 사용하려고 한다.
인덱스 범위 스캔은 결과 건수만큼 반환한다. 결과가 없으면 한 건도 반환하지 않을 수 있다.
15
NVL 함수를 사용하는 것은 합계오류 예방과 전혀 관계가 없다.
16
GROUP BY CUBE(DEPTNO, JOB); // 같은 결과를 반환하는 그룹 함수 GROUP BY GROUPING SETS (DEPTNO, JOB (DEPTNO, JOB), ());
SQL
복사
17
인덱스에 액세스 할 때 WHERE 절 LIKE 앞뒤로 와일드카드가 존재하면 정상적인 INDEX RANGE SCAN 이 불가능하다
18
인덱스를 사용할 수 없는 조건
인덱스가 사용되는 칼럼에 NVL 을 사용했다.
인덱스가 사용되는 칼럼에 TO_CHAR() 함수로 인덱스 키 칼럼을 형변환 했다.
|| 을 이용하여 인덱스를 변경하였다.
19
SQL 문에서 NULL 과 NULL 을 비교할 수 없다. 때문에 공집합을 반환한다.
20
순서 관련 함수
FIRST_VALUE
LAST_VALUE
LAG
RANK 는 아니다.
21
SUBQUERY 의 종류 중에서 SUBQUERY 가 MAINQUERY 의 제공자 역할을 하고, MAIN QUERY 의 값이 SUBQUERY 에 주입되지 않는 유형은 무엇인가? ACCESS SUBQUERY
ACCESS SUBQUERY : 쿼리의 변형이 없고 제공자의 역할을 한다.
FILTER SUBQUERY : 쿼리의 변형이 없고 확인자 역할을 한다.
EARLY FILTER SUBQUERY : 쿼리의 변형이 없고 서브쿼리가 먼저 실행하여 데이터를 걸러낸다
22
ANSI/ISO 표준 SQL 에서 두 테이블 간에 동일한 칼럼 이름을 가지는 것을 모두 출력하는 조인 방식은 NATURAL JOIN 이다.
NATURAL JOIN
별칭 사용 불가
두 테이블에서 동일한 칼럼 이름을 가지는 칼럼은 모두 조인된다.
동일한 칼럼이 두 개 이상일 경우 JOIN ~ USING 문장을 사용한다.
23
차수 : 릴레이션의 칼럼수. 조인된 모든 칼럼수
카디널리티 : 선택된 행들의 개수 (카테시안곱)
24
SELECT ... FROM 급여이력 S WHERE NOT EXISTS ( SELECT 'X' FROM 사원 P WHERE P.사원번호 = S.사원번호) // 같은 내용 SELECT ... FROM 급여이력 S LEFT OUTER JOIN 사원 P ON (S.사원번호 = P.사원번호) WHERE P.사원번호 IS NULL;
SQL
복사
25
서브쿼리는 괄호를 사용해서 SELECT 문을 감싸서 사용하는 것이다.
서브쿼리는 비교 연산자와 함께 사용이 가능하다.
인라인뷰 칼럼을 메인 쿼리에서 사용이 가능하다.
서브쿼리는 SELECT, FROM, WHERE 절 등에서 사용이 가능하다.
26
SELECT 'A', 1 FROM DUAL UNION ALL SELECT 1, 'A' FROM DUAL;
SQL
복사
조회되는 데이터의 구조가 다르기 때문에 오류가 발생한다.
오류 발생으로 실행되지 않는다.
27
SQL SERVER 는 NULL 값을 인덱스 맨 앞에 저장한다. (ORACLE 은 맨 뒤에)
ORACLE 에서 인덱스 구성 칼럼 중 하나라도 NULL 이 아닌 레코드는 인덱스에 저장한다.
SQL SERVER 는 인덱스 구성 칼럼이 모두 NULL 인 레코드도 인덱스에 저장한다.
ORACLE 에서 인덱스 구성 칼럼이 모두 NULL 인 레코드는 인덱스에 저장하지 않는다.