본문 바로가기
반응형

sqld 기출18

<SQLD 51> 조인에 대한 기출문제 매일 SQLD 기출 문제 풀기 챌린지 문제 51. 다음의 JOIN 결과를 보고 올바른 것은? [TEST51_1] COL1 COL2 1 2 2 2 3 3 [TEST51_2] COL1 COL2 1 2 2 4 4 5 [RESULT] TEST51_1.COL1 TEST51_1.COL2 TEST51_2.COL1 TEST51_2.COL2 1 2 1 2 2 2 2 4 3 3 NULL NULL SELECT * FROM TEST51_1 ( ) TEST51_2 ON TEST51_1.COL1 = TEST51_2.COL1; 답 : _________ 해설해보기 ■ LEFT OUTER JOIN 조인은 여러 개의 테이블의 컬럼들을 활용하여 한 번에 원하는 것을 출력하고자 할 때 사용하는 문법이다. 그 중 LEFT JOIN이란 왼쪽 .. 2024. 4. 21.
<SQLD 50> NTILE 함수에 대한 기출문제 매일 SQLD 기출 문제 풀기 챌린지 문제 50. 주어진 데이터에 대해서 아래의 SQL문을 수행하였을 때의 결과값이 아래의 결과와 같을때 ( )빈칸에 들어갈 값을 적으시오. [TEST50] CREATE TABLE TEST50( COL1 VARCHAR(10), COL2 VARCHAR(10), COL3 NUMBER(10) ); INSERT INTO TEST50 VALUES('A','가',10); INSERT INTO TEST50 VALUES('A','가',20); INSERT INTO TEST50 VALUES('A','다',25); INSERT INTO TEST50 VALUES('B','가',10); INSERT INTO TEST50 VALUES('B','나',30); INSERT INTO TEST50 VA.. 2024. 4. 20.
<SQLD 49> Order by 에 대한 기출문제 매일 SQLD 기출 문제 풀기 챌린지 문제 49. Oracle 환경에서 주어진 테이블을 아래의 결과와 같이 정렬하고자 할 때, SQL문의 빈칸에 들어갈 값을 작성하시오. [TEST 49] C1 C2 10 100 10 200 10 NULL 20 100 20 NULL 20 200 [RESULT] C1 C2 10 200 10 100 10 NULL 20 200 20 100 20 NULL [SQL] SELECT C1, C2 FROM TEST49 ORDER BY C1, C2 DESC ( ); 답 : _______ 해설해보기 ■ NULL 값은 어떻게 정렬될까? - ASC(오름차순) : NULL 값이 가장 마지막에 출력됩니다. - DESC(내림차순) : NULL 값이 가장 위에 출력됩니다. ■ Order By 절에서 .. 2024. 4. 18.
<SQLD 48> 레포팅 함수에 대한 기출문제 매일 SQLD 기출 문제 풀기 챌린지 문제 48. 다음 주어진 두개의 테이블에 대해서 아래와 같은 결과값이 반환되도록 아래의 SQL문의 빈칸에 들어갈 값을 적으시오. [TEST47_1] STUDENTNO 10 20 30 [TEST47_2] GRADE 50 60 70 [결과값] GRADE STUDENTNO SUM(B.GRADE) 50 10 50 50 20 50 50 30 50 50 150 60 10 60 60 20 60 60 30 60 60 180 70 10 70 70 20 70 70 30 70 70 210 [SQL] SELECT B.GRADE, A.STUDENTNO, SUM(B.GRADE) FROM TEST47_1 A, TEST47_2 B GROUP BY ( ); 답 : _______ 해설해보기 ■ Re.. 2024. 4. 17.
<SQLD 46> Order by에 대한 기출문제 매일 SQLD 기출 문제 풀기 챌린지 문제 46. 주어진 SQL문에서 ORDER BY로 사용할 수 없는 것은? SELECT JOB, COUNT(*) AS ROWCNT FROM TEST46 GROUP BY JOB; ① ORDER BY JOB ② ORDER BY ROWCNT DESC ③ ORDER BY COUNT(*) ④ ORDER BY 3 해설해보기 제시된 쿼리는 TEST46 테이블에서 JOB 컬럼을 기준으로 그룹화하여, JOB별 레코드 수를 세는 쿼리입니다. 이 결과에 대한 정렬로 사용할 수 없는 ORDER BY 절을 선택하는 것이 문제가 원하는 것 입니다. ORDER BY절에 사용할 수 있는 것은 컬럼명, 별칭, select 문의 컬럼 순서(위치) 입니다. 오라클의 경우 별칭은 ORDER BY 절에서만.. 2024. 4. 15.
<SQLD 43> in 연산자 대한 기출문제 매일 SQLD 기출 문제 풀기 챌린지 문제 43. 다음 주어진 테이블에 대해서 아래의 SQL문을 수행하였을 때 결과 행의 수는? [ 테이블 : TEST43 ] COL1 COL2 10000 ABC 10000 NULL 10000 AbC 20000 ABC [ SQL ] SELECT * FROM TEST43 WHERE (COL1, COL2) IN ((10000,'ABC')); ① NULL ② 1 ③ 2 ④ 3 해설해보기 ■ IN 연산자 IN 연산자는 주어진 값 목록 중 하나라도 일치하는 행을 찾을 때 사용하는 연산자입니다. 예를들어 아래와 같이 쓰인다면, col1 에 10000 또는 20000 이 있는 행을 찾습니다. WHERE col1 IN (10000, 20000) ; 하지만 문제에 제시된 쿼리처럼 튜플(여.. 2024. 4. 12.
<SQLD 42> like 연산자에 대한 기출문제 매일 SQLD 기출 문제 풀기 챌린지 문제 42. 다음 주어진 데이터에 대해서 LIKE문을 사용하여 결과값에 "_" 가 들어간 문자열을 찾는 SQL문으로 올바른 것은? [ TEST42 ] USERID USERNAME 1 __H 2 _B_ 3 ___ 4 D__ [ RESULT ] USERID USERNAME 1 __H 2 _B_ 3 ___ 4 D__ ① SELECT * FROM SQLD31 WHERE NAME LIKE '%H'; ② SELECT * FROM SQLD31 WHERE NAME LIKE '%#_%'; ③ SELECT * FROM SQLD31 WHERE NAME LIKE '%@_%' ESCAPE '@'; ④ SELECT * FROM SQLD31 WHERE NAME LIKE '%_%' ESCAPE .. 2024. 4. 11.
<SQLD 41> NULL 값 비교에 대한 기출문제 매일 SQLD 기출 문제 풀기 챌린지 문제 41. 다음 주어진 테이블에서 해당 SQL문을 실행한 결과로 알맞은 것은? [ TEST41 ] COL1 COL2 NULL A 1 B 2 C 3 D 4 E [ SQL ] SELECT * FROM TEST41 WHERE COL1 IN(1, 2, NULL); ① COL1 COL2 1 B 2 C ② COL1 COL2 2 B 2 C ③ COL1 COL2 1 B 2 C 3 D 4 E ④ COL1 COL2 NULL A 1 B 2 C 3 D 4 E 해설해보기 SQL 에서 null은 알 수 없는 값입니다. 따라서 null은 다른 값과 비교할 수 없기 때문에 in에 null값을 넣어주어도 null 인 행을 반환할 수 없습니다. 만약에 null 인 값에 대한 조건을 싶다면, IS .. 2024. 4. 10.
<SQLD 38> 조인에 대한 기출문제 매일 SQLD 기출 문제 풀기 챌린지 문제 38. 다음 중 아래에서 Join에 대한 설명으로 올바르지 않은 것은? 가) 마스터 테이블과 슬레이브 테이블 간의 조인은 일반적으로 기본키와 외래키 사이에서 발생한다. 나) EQUI Join은 두 개의 테이블 간에 칼럼 값이 일치하는 것을 조회한다. 다) EQUI Join은 >, =, "마스터 테이블과 슬레이브 테이블 간의 조인은 일반적으로 기본키와 외래키 사이에서 발생한다." 이 설명은 참입니다. 데이터베이스에서 테이블 간의 관계를 정의할 때, 보통 한 테이블의 기본키(Primary key) 를 다른 테이블에서 외래키(Foreign key)로 참조하여 조인합니다. " EQUI Join은 두 개의 테이블 간에 칼럼 값이 일치하는 것을 조회한다. " 이.. 2024. 4. 7.
<SQLD 35> 그룹 함수에 대한 기출문제 매일 SQLD 기출 문제 풀기 챌린지 문제 35. 다음 주어진 테이블에서 아래의 SQL을 수행한 결과로 알맞은 것은? [ TEST23 ] COL1 COL2 COL3 COL4 10 10 10 20 20 20 NULL 30 30 NULL NULL 10 NULL 30 10 40 [ SQL ] SELECT SUM(COL1+COL2+COL3+COL4) FROM TEST23; SELECT SUM(COL1) + SUM(COL2) + SUM(COL3) + SUM(COL4) FROM TEST23; ① 50, NULL ② NULL, 240 ③ 50, 240 ④ NULL, NULL 해설해보기 첫 번째 쿼리는 모든 컬럼의 값을 더한 후, 그 결과의 합을 계산하는 쿼리입니다. 그런데 주목할 점은 NULL .. 2024. 4. 4.
<SQLD 34> 그룹 함수와 null 값에 대한 기출문제 매일 SQLD 기출 문제 풀기 챌린지 문제 34. 다음 주어진 테이블에서 집계 함수를 수행하였을 때 결과값으로 다른 것을 고르시오. [ TEST35 ] USERID USERCOUNT KIM 10 PARK 20 LIM NULL SIN NULL ① SELECT COUNT(NVL (USERCOUNT, 0)) FROM TEST35; ② SELECT SUM(NVL (USERCOUNT, 0)) / 4 FROM TEST35; ③ SELECT AVG(NVL (USERCOUNT, 0)) FROM TEST35; ④ SELECT AVG(NVL (USERCOUNT, 1)) - 0.5 FROM TEST35; 해설해보기 ■ NVL( A, B ) NVL()함수는 A값이 NULL이면 B를 출력하는 함수이다. ■ 그룹합수의 특징 그룹.. 2024. 4. 3.
<SQLD 33> 그룹 함수에 대한 기출문제 매일 SQLD 기출 문제 풀기 챌린지 문제 33. 다음 주어진 데이터에서 해당 SQL문을 실행 했을 때의 결과 값으로 알맞은 것은? [TABLE34] A X 1 100 1 NULL 2 100 2 200 [SQL] SELECT A, SUM(X) AS TAB FROM TABLE34 GROUP BY A; ① A TAB ---- ----- 1 100 ② A TAB ---- ----- 1 100 2 200 ③ A TAB ---- ----- 1 100 2 300 ④ A TAB ---- ----- 1 100 1 NULL 2 100 2 200 해설해보기 ■ 그룹함수의 특징 그룹함수인 SUM()은 NULL 값을 무시하는 특징을 가지고 있습니다. 따라서 A 컬럼의 값 별로 값이 묶였을 때 A=1인 그룹의 SUM(X) 값은.. 2024. 4. 2.
<SQLD 31> nvl 함수에 대한 기출문제 매일 SQLD 기출 문제 풀기 챌린지 문제 31. 다음 주어진 SQL문을 수행하였을 때의 결과가 아래와 같을 때 빈칸에 들어갈 것으로 알맞은 것은? [ SQL ] SELECT 10+20 * (( ? )(NULL, 0.1, 0.2)) FROM DUAL; [ 결과 ] 14 [ 보기 ] ① IS NULL ② NVL ③ NVL2 ④ COALESCE 해설해보기 1. A IS NULL IS NULL은 주어진 표현식이 NULL 인 경우 TRUE를 반환한다. 따라서 특정 컬럼 A가 IS NULL 이어야 한다는 조건을 주기 위해서 사용한다. 2. NVL( A, B ) NVL()함수는 A값이 NULL이면 B를 출력하는 함수이다. 3. NVL2(A, B, C) A가 NULL 아닌 경우 B를 반환하고, A가 NULL인 경우 .. 2024. 3. 31.
<SQLD 28> row_number() 함수에 대한 기출문제 매일 SQLD 기출 문제 풀기 챌린지 문제28. 아래의 SQL에 대한 결과를 적으시오. [TAB1] COL1 COL2 COL3 COL4 1 2 200 20 2 3 240 10 3 4 100 20 4 5 230 20 5 6 300 20 6 7 400 10 [ SQL ] SELECT COL2, COL1 FROM (SELECT ROW_NUMBER() OVER(PARTITION BY COL4 ORDER BY COL3 DESC) RN, COL1, COL2 FROM TAB1 WHERE COL1 5 AND COL4 > 10) WHERE RN = 1; 답 : ? 해설해보기 SQL을 풀기 위해선 IN LINE VIEW를 우선적으로 풀어야한다. 1. IN LINE VIEW 테이블 TAB1 에서 데이터를 출력하는데, COL.. 2024. 3. 28.
<SQLD 27> grouping sets 에 대한 기출문제 매일 SQLD 기출 문제 풀기 챌린지 문제 27. 다음과 같은 결과를 조회하기 위한 SQL문의 빈칸 ( ? ) 을 작성하시오. [ 테이블명: TAB1 ] JOB 10 20 30 [ 테이블명: TAB2 ] GRADE 50 60 70 [ RESULT ] GRADE JOB SUM(GRADE) 50 10 50 50 20 50 50 30 50 50 150 60 10 60 60 20 60 60 30 60 60 180 70 10 70 70 20 70 70 30 70 70 210 [ SQL ] SELECT B.GRADE, A.JOB, SUM(B.GRADE) FROM TAB1 A, TAB2 B GROUP BY ( ? ); 해설해보기 ■ 데이터 분석 함수 grouping sets 직관적으로 그룹핑할 컬럼을 기입하여 집계 .. 2024. 3. 27.
<SQLD 16> 그룹함수 NULL값을 무시하는 것에 대한 기출문제 매일 SQLD 기출 문제 풀기 챌린지 문제16. 아래의 SQL결과를 적으시오 [테이블명 : SQLD16] N1 ID N2 200 A T1 250 B T2 300 NULL T3 SELECT COUNT(*) FROM SQLD16 WHERE N1 >= 200 OR N2 IS NULL AND ID = 'B'; 주관식 답 : 해설해보기 # 1. SELECT절 COUNT(*)는 NULL을 포함한 모든 행의 건수를 출력 # 2. WHERE절 - 조건 1 : N1의 값이 200이상 OR - 조건 2 : N2가 NULL이면서 (AND) ID가 B 조건1은 모든 행이 해당되므로 3건 조건2는 N2에 NULL인 값이 없으므로 해당사항 없음 따라서 정답은 3 직접 실행해보기 SELECT COUNT(*) FROM SQLD16 .. 2024. 3. 16.
<SQLD 15> ORDER BY 절의 이해에 대한 기출문제 매일 SQLD 기출 문제 풀기 챌린지 문제15. ORDER BY 의 특징으로 가장 적절하지 않은 것은? ① ORDER BY 의 기본 정렬은 내림차순이다. ② SELECT 구문에 사용되지 않은 컬럼도 OERDER BY 구문에서 사용할 수 있다. ③ ORDER BY 1, COL1 과 같이 숫자와 컬럼을 혼용하여 사용할 수 있다. ④ ORACLE 은 NULL 을 가장 큰 값으로 취급하여 ORDER BY 시 맨 뒤로 정렬되고 SQL SERVER 반대로 가장 앞으로 정렬한다. 해설해보기 정답 ORDER BY의 기본 정렬은 오름차순이다. 따라서 정답은 ① 직접 실행해보기 select ename, empno from emp order by empno; 2024. 3. 15.
<SQLD 13> 컬럼 별칭 사용에 대한 기출문제 매일 SQLD 기출 문제 풀기 챌린지 문제13. 아래의 SQL에 대한 Column Header를 적으시오(DBMS : ORACLE) SELECT employee_id, DEPARTMENT_ID, SALARY AS " salary" FROM SQLD_13 WHERE EMPLOYEE_ID < 110; 주관식 답 : 해설해보기 오라클은 출력할 때 컬럼명 대소문자를 구분하지 않는다 따라서 employee_id = EMPLOYEE_ID 를 동일하게 보고 소문자로 작성해도 대문자로 보여진다. 하지만, 별칭을 주었을 때 더블쿼테이션 마크(") 내에서는 대소문자가 구분되고 있다 따라서 출력되는 Column Header는 아래와 같다 EMPLOYEE_ID, DEPARTMENT_ID, salary 직접 실행해보기 SELE.. 2024. 3. 13.
반응형