🎓 정보처리기사

[정보처리기사 - 실기] VIII. SQL 응용 - 응용 SQL 작성하기

exception_log 2020. 11. 22. 19:13

집계성 SQL 작성 ⭐⭐⭐

데이터 분석 함수의 종류

데이터 분석 함수의 종류

집계 함수

여러 행 또는 테이블 전체 행으로부터 하나의 결괏값을 반환하는 함수

집계 함수 구문

SELECT 컬럼1, 컬럼2, ..., 집계 함수
	FROM 테이블 명
[WHERE 조건]
GROUP BY 컬럼1, 컬럼2, ...
[HAVING 조건식(집계함수 포함)]

GROUP BY 구문

복수 ROW 대상의 데이터 분석 시 그룹핑 대상이 되는 부분 선별 시 사용

HAVING 구문

WHERE 구문 내에는 사용할 수 없는 집계 함수의 구문을 적용하여 복수 행의 계산 결과를 조건별로 적용하는데 사용

일반적으로 GROUP BY 뒤에 기재하며 GROUP BY 구문의 기준 항목이나 소그룹 집계 함수를 활용한 조건을 적용하는 데 사용

집계 함수 종류

집계 함수 종류

집계 함수 활용 예시

SELECT COUNT(*) FROM STUDENT WHERE 국어 >= 80

그룹 함수 유형

  1. ROLLUP 함수 : 중간 집계 값을 산출하기 위한 그룹 함수
SELECT 컬럼1, 컬럼2, _, 그룹 함수
	FROM 테이블명
[WHERE..]
GROUP BY [컬럼...] ROLLUP 컬럼
[HAVING ...] 
[ORDER BY ...]

2. CUBE 함수 : 결합 가능한 모든 값에 대해 다차원 집계를 생성하는 그룹 함수

SELECT ... FROM ...
[WHERE...]
GROUP BY ... CUBE
[HAVING...]
[ORDER BY]

3. GROUPING SETS 함수 : 집계 대상 컬럼들에 대한 개별 집계를 구할 수 있으며, ROLLUP 이나 CUBE 와는 달리 컬럼 간 순서와 무관한 결과를 얻을 수 있는 그룹 함수

SELECT ... FROM ...
[WHERE ...]
GROUP BY ... GROUPING SETS ...
[HAVING ...]
[ORDER BY ...]

윈도 함수

데이터베이스를 사용한 온라인 분석 처리 용도로 사용하기 위해서 표준 SQL에 추가된 함수

SELECT ... 
OVER
([PARTITION BY ...])
[ORDER BY ...]
FROM 테이블 명

윈도 함수의 분류 (순행비)

윈도 함수의 분류

특정 기능 수행 SQL 문 작성 ⭐⭐

응용 시스템 DBMS 접속 기술

  1. 자바 데이터베이스 연결 (JDBC) : 프로그래밍 언어마다 DBMS에 접근할 수 있게 하는 기술은 여러가지가 있고, 그 중 대표적인 것이 JDBC이다. JDBC는 SQL을 사용하여 DBMS에 질의하고 데이터를 조작하는 API를 제공한다.

  2. MyBatis : SQL Mapping 기반 오픈 소스 Access Framework로, DBMS에 질의하기 위한 SQL 쿼리를 별도의 XML 파일로 분리하고 Mapping을 통해서 SQL을 실행한다.

    [ 장점 ]

    1. 복잡한 JDBC 코드 단순화 가능
    2. SQL 거의 그대로 사용 가능
    3. Spring 기반 프레임워크와 통합 기능 제공
    4. 우수한 성능

MyBatis 작성 문법

<mapper>
	<select id = "findId" resultType = "map">
		SELECT USER_ID FROM USER_INFO
		WHERE USER_NM = #{user_nm} AND BIRTH_DAY = #{user_birth_day}
	</select>
</mapper>

데이터 제어어 명령문 작성 ⭐⭐

데이터 제어어

데이터베이스 관리자가 데이터 보안, 무결성 유지, 병행 제어, 회복을 위해 관리자가 사용하는 제어용 언어

데이터 제어어 유형

데이터 제어어 유형

GRANT 명령문 (권한 부여)

GRANT 권한 ON 테이블 TO 사용자 [WITH 권한 옵션];

REVOKE 명령어 (권한 취소)

REVOKE 권한 ON 테이블 FROM 사용자 [CASCADE CONSTRAINTS]; 
반응형