Developer J

kh 정보교육원 25~27일 차 후기 본문

국비학원 일상

kh 정보교육원 25~27일 차 후기

Developer J 2020. 2. 17. 10:04
반응형

25 일차 -  2번째 시험, SQL 함수

일주일 만에 두 번째 시험을 치렀다. 시험을 봐야 하기 때문에 알아서 복습을 하게 된다. 시험을 통과하지 못하면 재시험을 보게 되고 그 시간 동안 진도를 나갈 수 없게 된다. 시험문제에 관한 사항은 자세히 적을 수 없지만, 배운 내용을 토대로 출제된다.

SQL 함수에 대해 배웠다.

LENGTH : 문자열의 길이를 계산하는 함수

DUAL : 임시 가상 테이블

INSTR : 주어진 값에서 원하는 문자가 몇번째인지 찾아 반환하는 함수

SUBSTR: 주어진 문자열에서 특정한 부분만 꺼내오는 함수

LPAD : 왼쪽 빈 공간을 원하는 문자로 채우는 함수

RPAD : 오른쪽 빈 공간을 원하는 문자로 채우는 함수

LTRIM / RTRIM : 특정 값으로 부터 특정 문자를 찾아 지워주는 함수

LOWER /UPPER/ INITCAP :소문자, 대문자, 각 단어의 앞글자만 대문자로 변경해주는 함수

CONCAT : 여러 문자열을 하나의 문자열로 합치는 함수

REPLACE : 주어진 문자열에서 특정 문자를 변경할 때 사용하는 함수
그룹 함수(Group function) : SUM(), AVG(), MAX(), MIN(), COUNT()


26 일차 -  SQL 함수

COUNT(*) : 모든 행의 수를 나타낸다.(NULL 포함)

COUNT(속성) : 속성이 맞는 행의 수를 나타냄. (NULL제외)

SYSDATE : 현재 컴퓨터의 날짜를 반환

MONTHS_BETWEEN( , ) : 두 날짜 사이의 개월 수 

ADD_MONTHS(날짜 ,개월 수 ) : 원하는 개월 수 더해서 출력
EXTRACT( YEAR|MONTH|DAY FROM 날짜) : 지정한 날로부터 날짜 값을 추출

 

<형변환 함수> 
DATE <--------> CHAR <------->NUMBER
TO_DATE() <--->TO_CHAR <---->TO_NUMBER

TO_CHAR : DATE을 CHAR형태로 변경, NUMBER를 CHAR로 변경

 

NUMBER를 CHAR로 변경 시 출력 형식 설정 

TO_CHAR(SALARY, 'L999,999,999'), --₩8,000,000 형식으로 출력, L은 원화표시, 9는 차있는 곳만 출력
TO_CHAR(SALARY, '000,000,000'),  --008,000,000                           0은 남는 칸도 0으로 출력
TO_CHAR(SALARY, '$999,999'),   --지정한 포멧이 기존 값보다 작을 경우 출력 안된다.
TO_CHAR(SALARY, '000,000')     

<CASE 문> : IF, SWTICH 처럼 사용할 수 있는 함수

CASE 
WHEN (조건1) THEN 결과1 
WHEN (조건2) THEN 결과2 
ELSE 결과3 
END 

ABS() : 특정 숫자의 절댓값을 표현

MOD() : 나머지를 반환(정수로 반환해줌)

ROUND(): 지정한 숫자를 반올림할 때 사용

CEIL() : 소수점 첫째 자리에서 올림 하는 함수

FLOOR(): 소수점 이하 자리의 숫자를 버리는 함수

TRUNC() :지정한 위치까지 숫자를 버리는 함수

 

27일 차 - SQL함수

NEXT_DAY(날짜, 요일명 or숫자) : 앞으로 다가올 가장 가까운 요일을 반환 (1: 일요일 ~ 7: 토요일)

NEXT_DAY(SYSDATE,'토요일') --기준 일로 부터 이후에 오는 토요일 날짜 출력된다.

SELECT 문의 실행 순서 :   1.FROM  2.WHERE 3.GROUP BY 4.HAVING 5.SELECT 6.ORDER BY


        SELECT 컬럼명 AS 별칭, 계산식, 함수
        FROM 테이블명
        WHERE 조건
        GROUP BY 그룹으로 묶을 컬럼명
        HAVING 그룹에 대한 조건식, 함수 식
        ORDER BY 컬럼명, 별칭, 컬럼의 순서 [ASC|DESC]

 

GROUP BY : 특정 컬럼이나 계산식을 하나의 그룹으로 묶어 한 테이블 내에서 소 그룹별로 조회하고자 할 때 선언

HAVING 구문 : 그룹 함수로 값을 구해올 그룹에 대해 조건을 설정할 때                

ORDER BY : SELECT 통해 조회한 행의 결과들을 특정 기준으로 정렬하는 구문

 

<집계 함수>
ROLLUP : GROUP BY 절에서만 사용되는 함수
             특정 그룹 별 중간 집계 및 총집계를 산출하는 함수
             그룹별로 묶인 값들에 대해 총 집계 값을 자동으로 산출하는 함수

CUBE : GROUP BY에서만 사용 

          특정 그룹 별 자동 집계를 산출하는 함수
          각 그룹별 소계 및 총합계를 자동으로 산출

-----------------------------------------------------------------------------------------------------------------------------------

<SET OPERATOR>  SET은 COLLECTION의 SET을 의미
--두 개 이상의 SELECT 한 결과를 합치거나, 중복을 별도로 제거하거나 하는 집합 형태의 결과로 조회하는 명령어

-- 합집합, 교집합, 차집합을 나타내는 SET OPERATOR를 알아보자.

 

<합집합> 
UNION : 두 개 이상의 SELECT 한 결과(RESULTSET)를 구하는 명령어.  
            두개 이상의 결과를 보여주며, 중복이 있을 경우 중복되는 결과는 1번만 보여준다.

UNION ALL : 두개 이상의 SELECT 한 결과를 보여주되,
                  만약 중복이 있을 경우 중복되는 내용도 그대로 조회하여 보여준다.

<교집합>
INTERSECT : 두개 이상의 결과 중 중복되는 결과만을 보여준다.

<차집합>
MINUS : 두개 이상의 결과 중 첫 번째 결과만이 가진 내용을 보여주는 명령어
            A와 B를 합쳤을 때 A만이 가진 결과를 보여주는 명령어

**어떠한 SET 명령어를 사용하더라도 그 결과의 모양은 반드시 같아야 한다.
   즉, SELECT 결과인 A와 SELECT 결과인 B를 하나로 합치는 경우
   A와 B 칼럼 개수와 칼럼의 자료형이 반드시 같아야 한다.

-----------------------------------------------------------------------------------------------------------------------------------

 

JOIN : 두 개 이상의 테이블을 하나로 합쳐 사용하는 명령어

반응형