본문 바로가기

Thinking in Data

(19)
[SQL Quiz] A#1013. 한글 문자 테이블 생성 Level=2 Q) 한글 문자 ‘가’에서 ‘힣’ 까지의 값을 갖는 데이터를 생성하여 다음 테이블에 추가하시오 IDX 는 한글 문자들의 정렬된 상태의 1~N까지 순번임 CH 는 '가' 에서 '힣' 까지의 1 문자 CH_ASCII 는 한글문자에 대한 ASCII 값 CREATE TABLE SQ_HANGUL_LIST ( IDX NUMBER NOT NULL, CH VARCHAR2(1) NOT NULL, CH_ASCII NUMBER ) ; 주) DBMS의 문자셋에 따라 IDX의 범위인 N 은 차이 있음 주) 한글 1 문자로된 목록을 만드는 것이 주목적임 주) 랜덤 한글 문자 생성에 활용됨
[SQL Quiz] #A1009. 간단한 월 달력 생성 Level=2 Q) 입력값 연도(YY), 월 (MM) 에 대하여 달력을 출력하시오. SELECT 2023 AS YY, 2 AS MM Hint) 해당 월에 대한 다음 월의 시작일에서 1일을 빼면, 해당 월의 마지막 일자가 된다. 결과 예시)
[SQL Quiz] #A1008. 문자열내 문자/숫자 분리하여 정렬하기 Level=2 Q) 실수로 국가명,국가코드(숫자),국가코드(3자리),국가코드(2자리)를 하나의 문자열로 만들어졌다. 아래 문자열 내 국가코드(숫자) 들에 대하여 내림차순으로 숫자 정렬하여 출력하는 SQL을 작성하시오 /* Oracle */ WITH W_NAT AS ( SELECT '가나288GHA_GH' AS NAT_STR FROM DUAL UNION ALL SELECT '가봉266GAB_GA' AS NAT_STR FROM DUAL UNION ALL SELECT '가이아나328GUY_GY' AS NAT_STR FROM DUAL UNION ALL SELECT '감비아270GMB_GM' AS NAT_STR FROM DUAL UNION ALL SELECT '건지 섬831GGY_GG' AS NAT_STR FRO..
[SQL Quiz] #A1007. 문자열 내 특정 문자 개수 계산 Level=1 Q) 다음 문자열에 대하여 대소문자 구분없이 한 문자의 개수를 구하는 SQL을 작성하시오 /* Oracle */ WITH W_DATA AS ( SELECT 'Working with Multiple Tables' STR FROM DUAL ) SELECT STR FROM W_DATA 주) Regular Expression 함수 사용할 수 없음. 기본 문자열 함수만 사용해야 함
[SQL Quiz] #A1006. 문자열의 서브문자열을 Row로 변환 Level=2 Q) 다음 문자열에 대하여 구분자 ‘,’ 을 기준으로 문자열을 분리하여 ROW 형태로 변환하는 SQL을 작성하시오 /* Oracle */ WITH W_COMMAND AS ( SELECT 'DROP,CREATE,INSERT,COMMIT,INSERT,UPDATE,COMMIT' STR FROM DUAL ) SELECT STR FROM W_COMMAND 주) Regular Expression 함수 사용할 수 없음. 기본 문자열 함수만 사용해야 함 결과셋) STR DROP CREATE INSERT COMMIT INSERT UPDATE COMMIT
[SQL Quiz] #A1005. 문자열 내 문자 조합하여 문자열 생성 Level=1 Q) 다음 하나의 문자열에 대하여 SQL을 작성하시오. SELECT ATTR_NM FROM (SELECT '가나다라마바사' ATTR_NM FROM DUAL) T; 주) Regular Expression 함수 사용할 수 없음. 기본 문자열 함수만 사용해야 함 Q-1) 위 주어진 데이터에 대하여 다음과 같은 결과를 만드시오 Q-2) 위 주어진 데이터에 대하여 다음과 같은 결과를 만드시오 Q-3) 위 주어진 데이터에 대하여 다음과 같은 결과를 만드시오 Q-4) 위 주어진 데이터에 대하여 다음과 같은 결과를 만드시오 Q-5) 위 주어진 데이터에 대하여 다음과 같은 결과를 만드시오
[SQL Quiz] #A1003. 용어에 대한 단어로 분리 (형태소분석) Level=3 Q) 다음 SQL을 참조하여, 다음 결과를 결과를 생성하는 SQL을 작성하시오. W_DIC은 단어사전 데이터셋으로 11개의 단어가 존재한다. 주어진 속성(ATTR_NM) 3개에 대하여 사전에 존재하는 대상과 사전에 존재하지 않는 단어를 식별해야 한다. 단어와 단어는 underbar('_')로 구분해야 한다 존재하지 않는 단어는 [ ] 로 표기 해야 한다. 주) Regular Expression 함수 사용할 수 없음. 기본 문자열 함수만 사용해야 함 주) DA가 담당하는 현행데이터 분석 및 데이터표준화 수행시 활용되는 방법임 WITH W_DIC AS ( SELECT LOG_NM, PHY_NM FROM ( SELECT '통합' LOG_NM, 'INT' PHY_NM FROM DUAL UNION ..
[SQL Quiz] #A1002. 구분자를 갖는 문자열 내 성적 처리 Level=1 Q) 아래 SQL과 같이 문자열로 4명의 학생에 대한 성적 받았다. 4명의 학생에 대한 개인별 총점, 평균을 구하고 과목별 총점, 평균을 구하시오. WITH W_DATA AS ( SELECT '[ID=3456|NM=GYUSU|KOR=60|ENG=50|MATH=90]' VAL UNION ALL SELECT '[ID=32|NM=CHULSU|KOR=96|ENG=72|MATH=84]' VAL UNION ALL SELECT '[ID=116|NM=YUNSU|KOR=100|ENG=90|MATH=99]' VAL UNION ALL SELECT '[ID=4146|NM=JUNGSU|KOR=30|ENG=80|MATH=67]' VAL ) SELECT VAL FROM W_DATA;