본문 바로가기
반응형

sqld기출10

<SQLD 53> 날짜 함수에 대한 기출문제 매일 SQLD 기출 문제 풀기 챌린지 문제 53. 오라클 환경에서 날짜형 데이터를 다룰 경우 아래 SQL문의 결과로 가장 적절한 것은? SELECT TO_CHAR(TO_DATE('2015.01.10 10', 'YYYY.MM.DD HH24') +1/24/(60/10),'YYYY.MM.DD HH24:MI:SS') FROM DUAL; ① 2015.01.10 11:01:00 ② 2015.01.10 10:05:00 ③ 2015.01.10 10:10:00 ④ 2015.01.10 10:30:00 해설해보기 1. 2015.01.10 10 을 TO_DATE() 함수를 사용해서 날짜 형식으로 변환 TO_DATE('2015.01.10 10', 'YYYY.MM.DD HH24') 따라서 2015년 1월 10일 오전 10시로 변.. 2024. 4. 23.
<SQLD 47> natural join에 대한 기출문제 매일 SQLD 기출 문제 풀기 챌린지 문제 47. CROSS JOIN과 NATURAL JOIN의 차이점에 대해서 잘못 설명한 것은? ① NATURAL JOIN은 테이블 간 동일한 이름을 가진 모든 칼럼들에 대해 조인을 수행한다. ② CROSS JOIN은 테이블 간 조건이 없는 경우 생길 수 있는 모든 데이터의 조합을 의미한다. ③ CROSS JOIN과 NATURAL JOIN은 WHERE절에서 JOIN조건을 걸 수 없다. ④ CROSS JOIN은 WHERE절에 JOIN조건을 추가할 수 있다. 해설해보기 ■ CROSS JOIN CROSS JOIN은 두 테이블 간의 Cartesian Product (카테시안 곱) 을 생성합니다. 즉, 첫번째 테이블의 모든 행과 두 번째 테이블의 모든 행을 조합하여 가능한 모든.. 2024. 4. 16.
<SQLD 45> 데이터 분석함수에 대한 기출문제 매일 SQLD 기출 문제 풀기 챌린지 문제 45. 파티션 별 윈도우에서 가장 먼저 나온 값을 구하는 WINDOW FUNCTION은 무엇인가? ① FIRST_VALUE ② LAG ③ LAST_VALUE ④ LEAD 해설해보기 [ 설명을 위한 테이블 : EMP_DATA ] EMPLOYEE_ID DEPARTMENT_ID NAME SALARY 1 101 Kim 3000 2 101 Lee 4000 3 102 Park 3500 4 102 Choi 2000 ■ FIRST_VALUE 함수 이 함수는 지정된 윈도우(파티션) 내에서 첫 번째 값을 반환하는 함수입니다. 특정 기준에 따라 데이터를 그룹화하여 각 그룹 내에서 첫 번째 값을 선택할 때 사용합니다. 쉽게 말해 그룹 내에서 첫 번째 값을 가져오는 함수입니다. EMP.. 2024. 4. 14.
<SQLD 44> 조인에 대한 기출문제 매일 SQLD 기출 문제 풀기 챌린지 문제 44. 아래의 테이블에 대해서 주어진 SQL문을 수행한 결과로 알맞은 것은? [ 테이블 : TEST44_1 ] JUMUN PRICE 10 2000 10 3000 20 4000 20 3500 [ 테이블 : TEST44_2 ] CUSTRANK MINPRICE MAXPRICE VVIP 6000 6999 VIP 5000 5999 GOLD 4000 4999 [ SQL ] SELECT A.JUMUN AS JUMUN, B.CUSTRANK AS CUSTRANK FROM (SELECT JUMUN, SUM(PRICE) AS TOTAL FROM TEST44_1 GROUP BY JUMUN) A , TEST44_2 B WHERE A.TOTAL BETWEEN B.MINPRICE AND .. 2024. 4. 13.
<SQLD 40> 서브쿼리에 대한 기출문제 매일 SQLD 기출 문제 풀기 챌린지 문제 40. 아래의 테이블들에 대해서 SQL문을 수행하였을 때의 결과 값은? [ TEST40_1 ] COL 1 2 3 4 [ TEST40_2 ] COL 2 NULL [ SQL ] SELECT COUNT(*) FROM TEST40_1 A WHERE A.COL NOT IN (SELECT COL FROM TEST40_2); ① 0 ② 1 ③ 3 ④ 6 해설해보기 제시된 쿼리는 TEST40_1 테이블에서, TEST40_2 테이블의 COL 컬럼에 없는 COL 값을 가진 행의 수를 세는 쿼리입니다. ■ NOT IN 주어진 리스트에 없는 값을 찾습니다. 주의깊게 봐야할 것은 TEST40_2 테이블의 COL 컬럼에 NULL 값이 존재한다는 점 입니다. NULL은 비교연산을 수행할 .. 2024. 4. 9.
<SQLD 39> 데이터 분석 함수에 대한 기출문제 매일 SQLD 기출 문제 풀기 챌린지 문제 39. 다음 보기 중 아래의 SQL에 대한 설명으로 가장 올바른 것은? SELECT 분류코드, AVG(상품가격) AS 상품가격, COUNT(*) OVER ( ORDER BY AVG(상품가격) RANGE BETWEEN 10000 PRECEDING AND 10000 FOLLOWING )AS CNT FROM 상품 GROUP BY 분류코드; ① WINDOW FUNCTION을 GROUP BY(분류코드) 절과 함께 사용하였으므로 위의 SQL은 오류가 발생한다. ② WINDOW FUNCTION의 ORDER BY 절로 인하여 문법오류이다. ③ CNT 칼럼은 분류코드별 평균상품가격을 서로 비교하여 -10000 ~ 10000 사이에 존재하는 분류코드의 개수를 구한 것이다. ④ C.. 2024. 4. 8.
<SQLD 37> 기타 비교연산자 대한 기출문제 매일 SQLD 기출 문제 풀기 챌린지 문제 37. 다음의 테이블을 보고 실행한 SQL문 중에서 그 결과가 올바르지 않은 것은? [ t_order 테이블 ] Orderyear Ordermonth Price 2020 01 1000 2020 02 6000 2020 03 2000 2020 04 3000 2020 05 2000 2020 06 1500 ① SELECT SUM(price) AS TOTAL FROM t_order WHERE orderyear BETWEEN '2020' AND '2021' AND ordermonth BETWEEN '01' AND '12'; # 결과 : 15,500 ② SELECT SUM(price) AS TOTAL FROM t_order WHERE ordermonth in ('01','0.. 2024. 4. 6.
<SQLD 32> 일반 함수에 대한 기출문제 매일 SQLD 기출 문제 풀기 챌린지 문제 32. 보기에서 SELECT 결과가 NULL이 아닌 경우는? ① SELECT COALESCE(1, 2, 3) FROM DUAL; ② SELECT CASE 0 WHEN 1 THEN 2 ELSE NULL END FROM DUAL; ③ SELECT DECODE('A', 'B', 'C', NULL) FROM DUAL; ④ SELECT NULLIF('A', 'A') FROM DUAL; 해설해보기 1. COALESCE( A, B ) COALESC() 함수는 A가 NULL이면 B를 출력하는 함수이다. * NVL() vs COALESCE() - COALESCE()함수는 COALESCE( A, B, C ) 가 가능하여 A가 NULL이면 B, B도 NULL이면 C를 실행할 수 있.. 2024. 4. 1.
<SQLD 24> count 그룹함수/연산자 우선순위에 대한 기출문제 매일 SQLD 기출 문제 풀기 챌린지 문제 24. 다음 SQL의 결과는 무엇인가? [ 테이블명: SQLD24 ] N1 ID N2 200 A T1 250 B T2 300 NULL T3 SQL : SELECT COUNT(*) FROM SQLD24 WHERE N1 >= 200 OR N2 IS NULL AND ID = 'B'; 답 ? 해설해보기 이 문제에서 집중해야할 것은, 연산자 우선순위이다. SQL에서는 AND 연산자가 OR 연산자보다 우선순위가 높다. 그래서 문제에서 제시한 쿼리를 괄호로 묶어서 보면, 아래와 같다. SELECT COUNT(*) FROM SQLD24 WHERE (N1 >= 200) OR (N2 IS NULL AND ID = 'B'); 위 쿼리를 기반으로 설명하면, N1 이 200 이상인 행.. 2024. 3. 24.
<SQLD 17> LIKE 연산자에 대한 기출문제 매일 SQLD 기출 문제 풀기 챌린지 문제17. 아래의 SQL결과를 적으시오. [ 테이블명 : SQLD17 ] N1 V1 1 SMITH 2 JOHN 3 ALX 4 CL 5 BLX select count(*) from sqld17 where v1 like '_L%'; 주관식 답 : 해설해보기 # 1. SELECT 절 COUNT(*)를 이용해서 NULL을 포함하여 모든 행의 수 출력 # 2. FROM 절 값을 가져올 테이블명 기입 #3. WHERE절 *WHERE V1 LIKE '_L%' - Like : 텍스트 데이터의 일부를 검색할때 사용 - v1 컬럼에서 첫번째 글자로 아무거나 한 글자 있고, 두번째 글자로 L이 오며, 그 이후는 아무거나 오는 것 추출 위 함수는 LIKE와 와일드 카드(%)와 언더바(_).. 2024. 3. 17.
반응형