반응형

안녕하세요! 오늘은 임의의 데이터 생성 방법에 대해 소개해 드리겠습니다.

 

- 쿼리문 

 

- 실행결과

 

위의 쿼리문을 통해 임의로 데이터를 생성하여 조회하거나 기존의 데이터에 덧붙여서 유용하게 사용 가능합니다.

반응형
반응형

안녕하세요. 두번째로 최대값을 출력해보는 SQL을 작성해보겠습니다.

 

아래와 같은 테이블이 존재합니다.

 

1. SCORE의 최대값을 출력하여 보겠습니다.

1
SELECT MAX(SCORE) AS MAX_SCORE FROM TEST_RESULT;
cs

 

2. SCORE의 두번째 최대값을 출력하여 보겠습니다.

 

방법 1) NOT IN 사용하기

1
2
3
SELECT MAX(SCORE) AS SECOND_MAX_SCORE
  FROM TEST_RESULT
 WHERE SCORE NOT IN 50;
cs

 

방법 2) ROWNUM 사용하기

1
2
3
4
5
6
SELECT SECOND_MAX_SCORE
  FROM (SELECT ROWNUM AS RN, SCORE
         FROM(SELECT SCORE
               FROM TEST_RESULT
              ORDER BY SCORE DESC))
 WHERE RN = 2;
cs

 

결과는 최대값 50을 제외하고 가장 큰 수 인 40이 출력됩니다.

 

 

3. SCORE의 최대값을 제외한 나머지 행을 출력하여 보겠습니다.

 

방법 1) NOT IN 사용하기

1
2
3
4
SELECT SCORE AS SCORE
  FROM TEST_RESULT
 WHERE SCORE NOT IN 50
ORDER BY SCORE ASC;
cs

 

방법 2) ROWNUM 사용하기

1
2
3
4
5
6
7
SELECT SCORE
  FROM (SELECT ROWNUM AS RN, SCORE
         FROM(SELECT SCORE
               FROM TEST_RESULT
              ORDER BY SCORE DESC))
 WHERE RN > 1
ORDER BY SCORE ASC
cs

 

결과는 최대값 50을 제외한 나머지 목록이 출력됩니다.

반응형
반응형

안녕하세요. 오늘은 기호로 구분하여 전화번호를 저장하고 추출하여 보겠습니다.

 

자릿수에 상관없이 저장, 추출 가능합니다. (핸드폰번호, 집 전화번호 모두 가능)

전화번호를 세부분으로 나누어 받아 한 컬럼에 추가하고, 다시 화면에 나타낼 때는 세부분으로 나누어 출력이 가능합니다. 

 

먼저 TABLE1 이라는 테이블에 TEL_NO 라는 컬럼에 데이터를 추가합니다. 

여기서 [010] [1111] [2222] 이 부분은 사용에 맞게 값을 넣어주시면 됩니다.

1
INSERT INTO TABLE1(TEL_NO) VALUES ('010'||'-'||'1111'||'-'||'2222')
cs

데이터가 잘 들어간 것을 확인하였습니다.

 

전화번호가 들어오는 형식은 핸드폰 번호일수도, 집전화일수도, 인터넷전화번호일수도 있기 때문에 중간에 있는 "-" 기호로 구분하여 추출해보겠습니다.

 

 

먼저 SUBSTR, INSTR의 이해가 필요합니다.

1
2
3
SUBSTR(문자열,1,4-- STR의 1번째 글자부터 4개 자르기
 
INSTR(문자열, '-'12-- STR의 1번째 문자부터 2번째 '-' 기호가 있는 문자 위치 찾기
cs

 

그럼 기호를 기준으로 나누어 출력해보겠습니다.

1
2
3
4
5
SELECT SUBSTR(TEL_NO, 1, INSTR(TEL_NO, '-'11- 1) AS TEL_NO1
       ,SUBSTR(TEL_NO, INSTR(TEL_NO, '-'11+ 1, INSTR(TEL_NO, '-'12
               - INSTR(TEL_NO, '-'11- 1) AS TEL_NO2
       ,SUBSTR(TEL_NO, INSTR(TEL_NO, '-'12+ 1) AS TEL_NO3
FROM TABLE1
cs

INSTR을 통해 기호를 기준으로 자를 문자열의 위치를 파악한 후 SUBSTR으로 잘라줍니다.

이 방식을 통해 - 기호로 구분하여 화면에 나타낼 수 있고 저장 할 때는 DB에 기호 붙여서 저장 가능합니다.

 

다른예로, 집전화번호 형태의 데이터도 추출해보겠습니다.

반응형
반응형

안녕하세요 ! 오늘은 SQLD 합격 후기를 공유하려고 합니다.

제가 사용했던 책과 공부 방법을 소개하겠습니다. 😃

 

 

▶  준비 기간 

 

약 한달 소요.

 

시간날 때 마다 틈틈히 공부하였습니다.

하루에 3~4시간 할 때도 있었고, 바쁠 때는 못한 날도 있었습니다. 참고해주세요!

 

 

▶  사용 교재  

 

www.aladin.co.kr/shop/wproduct.aspx?ISBN=K792737462&start=pnaver_02

 

국가공인 SQLD 자격검정 핵심노트

SQL 전문가 가이드 2020 개정판 목차를 따른 최초의 수험서다. 2020 개정판 집필진이 집필 의도에 맞는 예상 문제를 직접 출제하고 해설하였으므로 SQLD와 SQLP 자격 취득을 목표로 공부하는 응시자들

www.aladin.co.kr

www.aladin.co.kr/shop/wproduct.aspx?ISBN=8988474848&start=pnaver_02

 

SQL 자격검정 실전문제

SQL 자격검정 실전문제는 국가공인 SQL 전문가 및 국가공인 SQL 개발자 자격시험 대비 수험서로 SQL 전문가 가이드에서 다루고 있는 데이터 모델링의 이해, SQL기본 및 활용, SQL 고급 활용 및 튜닝 등

www.aladin.co.kr

 

 

▶  공부 방법  

 

저는 SQLD 자격검정 핵심노트 책으로 먼저 공부했습니다.

제가 공부한 두 책 모두 다 개념적인 설명은 없기 때문에 문제를 통하여 습득해야 합니다.

아예 SQL을 모르시는 분들은 개념적인 것들은 파악하시고 공부하시는게 더 좋을 듯 합니다.

저는 대충 SQL의 개념을 알고 있었지만 문제를 풀어보니 대부분 몰랐던 부분이었습니다. 

문제를 풀어보고 해설을 보며 이해하고 모르는 개념을 찾아보는 방식으로 3회독 정도를 했습니다. ( 죽어도 모르는 부분은 패스~ )

그리고 남은 시간 동안은 SQL 자격검정 실전문제를 풀면서 기출문제를 익혔습니다.

 

 

▶  합격 점수  ◀

1과목 16점, 2과목 70점 총 86점으로 비교적 안정적인 점수로 합격하였습니다.

객관식도 개념과 함수 이름만 알고 있으면 다 쓸 수 있는 문제여서 거의 다 썼습니다.
당연한 얘기지만 개념에 충실하고 문제유형만 파악하면 무난하게 합격하실 수 있습니다!!

 

 

▶  후기 및 TIP  ◀

 

시험 자체의 난이도는 높은 편은 아니라 비전공자도 공부하면 충분히 합격할 수 있습니다.

하지만 개념을 정확하게 파악하지 못하면 문제를 접했을 때 많이 헷갈릴 거 같아 개념을 정확히 아시는 것을 추천합니다.

처음에는 익숙하지 않더라도 문제를 계속 접하게 되면 자연스럽게 개념과 문제유형을 파악하게 됩니다.

 

개인적으로 교재는 어느정도 개념을 아시는 분들이면 SQL 자격검정 실전문제를 추천드립니다.

왜냐하면 이 책에서 똑같이 나온 문제도 있었고 문제유형이 똑같기 때문에 이 문제집을 마스터 하신다면 분명 합격 하실 수 있습니다.

SQL이 처음이신 분들은 인강이나 인터넷 자료를 찾아보면서 문제를 풀어보시는 것을 추천드립니다.

 

SQL 자격검정 핵심노트도 좋지만 문제의 유형이 조금 다르고 초판이라 오타가 많습니다.

그래도 저는 용어 이름과 쓰임에 대해 정확하게 알 수 있어서 도움이 많이 되었습니다.

다들 자신의 상황에 맞게 교재를 선택하여 공부하시면 될 것 같습니다.

 

반응형

'나의 기록' 카테고리의 다른 글

2020 정보처리기사 실기 합격 후기  (1) 2021.03.24

+ Recent posts