본문 바로가기
반응형

sqld20

<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 52> rollup에 대한 기출문제 매일 SQLD 기출 문제 풀기 챌린지 문제 52. 주어진 테이블에서 아래와 같은 결과를 반환하는 SQL문을 고르시오 [SQLD_52] DNAME YEAR SAL 경영지원부 2010 4900 경영지원부 2011 5000 경영지원부 2012 5100 인사부 2010 4800 인사부 2011 4900 인사부 2012 5000 [RESULT] DNAME YEAR SUM(SAL) 인사부 2010 4800 인사부 2011 4900 인사부 2012 5000 인사부 14700 경영지원부 2010 4900 경영지원부 2011 5000 경영지원부 2012 5100 경영지원부 15000 297000 ① SELECT DNAME, YEAR, SUM(SAL) FROM SQLD_52 GROUP BY ROLLUP((DNAME, YE.. 2024. 4. 22.
<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 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 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 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 30> ntile 함수에 대한 기출문제 매일 SQLD 기출 문제 풀기 챌린지 문제 30. 아래의 SQL결과의 빈칸( ㄱ ), ( ㄴ ) 을 작성하시오. [ 테이블: TAB1 ] COL1 COL2 1 A 2 B 3 B 4 C 5 C 6 C 7 D [SQL] SELECT NT, COUNT(*) FROM (SELECT NTILE(3) OVER (ORDER BY COL1) AS NT FROM TAB1) WHERE 1=1 GROUP BY NT ORDER BY 1; [결과] NT COUNT(*) (ㄱ) (ㄴ) 2 2 3 2 답: 해설해보기 ■ 데이터 분석 함수 NTILE NTILE()은 데이터의 등급을 출력하는 함수이다. NTILE(숫자) => 괄호 안에 숫자를 입력하면, 그 수 만큼 등급을 나눈다는 것을 의미한다. 여기서 중요한 것은 나누고자 하는 등.. 2024. 3. 30.
<SQLD 29> reporting 함수에 대한 기출문제 매일 SQLD 기출 문제 풀기 챌린지 문제30. 다음 주어진 테이블에 대해서 아래와 같은 결과값이 나오도록 SQL문의 빈칸에 들어갈 수 있는 내용을 고르시오. [ 테이블명: T_TEST ] DEPTNO JOB SAL 10 CLERK 1300 10 MANAGER 2150 20 CLERK 1900 20 ANALYST 6000 20 MANAGER 2000 [결과] DEPTNO JOB SUM(SAL) 10 CLERK 1300 10 MANAGER 2150 10 3450 20 CLERK 1900 20 ANALYST 6000 20 MANAGER 2000 20 9900 13350 [SQL] SELECT DEPTNO, JOB, SUM(SAL) FROM T_TEST GROUP BY ( ); ① DEPTNO, JOB ② G.. 2024. 3. 29.
<SQLD 21> NULL 값에 대한 이해 매일 SQLD 기출 문제 풀기 챌린지 문제 21. 다음 주어진 테이블에서 해당 SQL문을 실행한 결과로 알맞은 것은? [ TEST17 테이블 ] COL1 COL2 NULL A 1 B 2 C 3 D 4 E SQL > SELECT * FROM test17 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. 3. 21.
<SQLD 20>그룹함수 SUM에 대한 기출문제 매일 SQLD 기출 문제 풀기 챌린지 문제20. 아래 T1 테이블의 SQL실행 후 결과값을 작성하시오 ? [ 테이블명 : T1 ] COL1 COL2 COL3 10 NULL 10 NULL 50 10 0 10 10 [SQL] ㄱ. SELECT SUM(col2) FROM T1; ㄴ. SELECT SUM(col2) FROM T1 WHERE col1 > 0; ㄷ. SELECT SUM(col2) FROM T1 WHERE col1 IS NOT NULL; ㄹ. SELECT SUM(col2) FROM T1 WHERE col1 IS NULL; 단답형 답 ( ㄱ ) : ( ㄴ ) : ( ㄷ ) : ( ㄹ ) : 해설해보기 SUM() 함수 - 합계를 구하는 그룹함수 - 그룹함수는 NULL값을 무시하는 특성이 있다. # ㄱ. .. 2024. 3. 20.
<SQLD 19> 그룹함수 사용 SQL에 대한 기출문제 매일 SQLD 기출 문제 풀기 챌린지 문제19. 아래의 SQL문을 완성하시오. [ 테이블명: TAB1 ] COL1 1000 1000 1000 3000 3000 4000 9999 9999 [ 결과 ] COL1 3000 9999 SELECT COL1 FROM TAB1 ( ? ) COL1 HAVING COUNT(*) = 2 ORDER BY (CASE WHEN COL1 = 1000 THEN 0 ELSE COL1 END); 주관식 답 : 해설해보기 # 1. SELECT 절 COL1의 값을 출력 # 2. FROM 절 COL1을 가져올 테이블명을 기입 # 3. ( ? ) 과 HAVING절 우선 HAVING을 사용했다는 것을 보면, GROUP BY 함수를 유추 할 수 있다. 또한 출력된 결과를 확인하면 3000과 90.. 2024. 3. 19.
<SQLD 18> AVG 함수에 대한 기출문제 매일 SQLD 기출 문제 풀기 챌린지 문제18. 아래의 SQL결과를 적으시오. [ 테이블 명: TAB1 ] COL1 4 8 4 8 NULL NULL select avg(col1) - avg(nvl(col1,0)) from tab1; 주관식 답 : 해설해보기 이 문제는 그룹함수인 avg 에 대해서 알고 있는지 물어보는 문제이다. * AVG() 그룹함수는 avg는 평균을 계산하는 함수이다. 이 함수는 null을 무시하고 계산한다. 위의 SQL을 해석해보면 1. COL1에 대한 평균 : NULL을 무시하기 때문에 4로 나눈다( NULL인 행은 포함하지 않고 무시) AVG(COL1) = ( 4 + 8 + 4 + 8 ) / 4 = 6 2. NULL을 0으로 바꾼 COL1에 대한 평균 : NULL을 특정 값으로 바.. 2024. 3. 18.
<SQLD 12> 논리 연산자 AND와 OR의 우선순위 기출문제 매일 SQLD 기출 문제 풀기 챌린지 문제12. 다음 주어진 테이블에서 SQL문의 결과값으로 알맞은 것은? [ 테이블명 : SQLD_12 ] JOB_TITLE EMP_NAME SALARY CLERK JACSON 2000 SALESMAN KING 3000 SALESMAN BOAN 4000 CLERK LUCAS 5000 SALESMAN CADEN 6000 CLERK GRAYSON 7000 DEVELOPER LOGAN 8000 CLERK JIM 9000 SELECT COUNT(*) FROM SQLD_12 WHERE JOB_TITLE = 'CLERK' OR (EMP_NAME LIKE 'K%' AND SALARY >= 3000) ① 4건 ② 5건 ③ 6건 ④ 8건 해설해보기 #1. SELECT절 count(*) .. 2024. 3. 12.
<SQLD 11> Null 값 처리하는 일반함수 기출문제 매일 SQLD 기출 문제 풀기 챌린지 문제11. 다음 주어진 SQL문의 결과값이 다른 것은? [ 테이블명 : SQLD_11 ] COL1 COL2 COL3 A 300 50 B 300 150 C NULL 300 D 300 100 [ SQL ] SELECT NVL(COL2, COL3) AS 금액1, COALESCE(COL2, COL3) AS 금액2, NULLIF(COL2, COL3) AS 금액3, CASE WHEN COL2 IS NOT NULL THEN COL2 ELSE COL3 END AS 금액4 FROM SQLD_11; ① 금액 1 ② 금액 2 ③ 금액 3 ④ 금액 4 해설해보기 1. NVL( A, B ) NVL()함수는 A값이 NULL이면 B를 출력하는 함수이다. 2. COALESCE( A, B ) CO.. 2024. 3. 11.
<SQLD 8>숫자함수 round 함수에 대한 기출문제 매일 SQLD 기출 문제 풀기 챌린지 문제8. 아래의 SQL을 수행한 결과를 작성하시오. SELECT ROUND(3.45, 1) AS COL1 FROM DUAL; 해설해보기 - 시스템의 가상 테이블 ROUND([숫자|컬럼명], [표시할 자리수]) - 3.45에서 소수점 첫번째 자리수 까지만 표시한다는 의미로 - 5를 반올림하여 3.5라는 결과가 도출됨 - 출력된 결과를 ALIAS를 사용하여 COL1로 지정해줌 직접 실행해보기 select round(3.45, 1) as col1 from dual; 2024. 3. 8.
<SQLD 7> 문자 함수 이해에 대한 기출문제 매일 SQLD 기출 문제 풀기 챌린지 문제7. 다음 중 결과값이 다른 것은? ① SELECT UPPER('ebac') FROM DUAL; ② SELECT RTRIM(' EBAC') FROM DUAL; ③ SELECT SUBSTR('ABCEBACED',4,4) FROM DUAL; ④ SELECT CONCAT('EB','AC') FROM DUAL; 해설해보기 1번 UPPER([문자열/컬럼명]) : 문자열 혹은 문자열 컬럼의 값을 모두 대문자로 변환해주는 함수 2번 RTRIM() : R = Right 오른쪽 , TRIM = 잘라내다 - 즉, 오른쪽 공백을 잘라내는 함수 - 아래와 같은 문법을 사용하면 오른쪽 특정 문자를 잘라낼 수 있다 - RTRIM( [문자열 or 컬럼명].. 2024. 3. 7.
<SQLD 4> between .. and 연산자를 사용법에 대한 기출문제 매일 SQLD 기출 문제 풀기 챌린지 문제4. 다음 주어진 SQL문과 동일한 결과값을 반환하는 SQL문으로 올바른 것은? SELECT * FROM EMP WHERE SAL BETWEEN 1000 AND 3000; ① SELECT * FROM EMP WHERE SAL >= 1000 AND SAL = 1000 OR SAL 2024. 3. 4.
<프로그래머스 29> 이름에 EL이 들어가는 동물 찾기(Lv.2) 프로그래머스에서 제공하는 SQL문제 매일 풀기 챌린지 문제 설명 ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디, 생물 종, 보호 시작일, 보호 시작 시 상태, 이름, 성별 및 중성화 여부를 나타냅니다. NAME TYPE NULLABLE ANIMAL_ID VARCHAR(N) FALSE ANIMAL_TYPE VARCHAR(N) FALSE DATETIME DATETIME FALSE INTAKE_CONDITION VARCHAR(N) FALSE NAME VARCHAR(N) T.. 2024. 1. 14.
<프로그래머스 11> 조건에 맞는 회원수 구하기(Lv.1) 프로그래머스에서 제공하는 SQL문제 매일 풀기 챌린지 문제 설명 다음은 어느 의류 쇼핑몰에 가입한 회원 정보를 담은 USER_INFO 테이블입니다. USER_INFO 테이블은 아래와 같은 구조로 되어있으며 USER_ID, GENDER, AGE, JOINED는 각각 회원 ID, 성별, 나이, 가입일을 나타냅니다. Column name Type Nullable USER_ID INTEGER FALSE GENDER TINYINT(1) TRUE AGE INTEGER TRUE JOINED DATE FALSE GENDER 컬럼은 비어있거나 0 또는 1의 값을 가지며 0인 경우 남자를, 1인 경우는 여자를 나타냅니다. 문제 USER_INFO 테이블에서 2021년에 가입한 회원 중 나이가 20세 이상 29세 이하인 회원.. 2023. 12. 27.
반응형