집계성 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
그룹 함수 유형
- 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 접속 기술
-
자바 데이터베이스 연결 (JDBC) : 프로그래밍 언어마다 DBMS에 접근할 수 있게 하는 기술은 여러가지가 있고, 그 중 대표적인 것이 JDBC이다. JDBC는 SQL을 사용하여 DBMS에 질의하고 데이터를 조작하는 API를 제공한다.
-
MyBatis : SQL Mapping 기반 오픈 소스 Access Framework로, DBMS에 질의하기 위한 SQL 쿼리를 별도의 XML 파일로 분리하고 Mapping을 통해서 SQL을 실행한다.
[ 장점 ]
- 복잡한 JDBC 코드 단순화 가능
- SQL 거의 그대로 사용 가능
- Spring 기반 프레임워크와 통합 기능 제공
- 우수한 성능
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];
반응형
'🎓 정보처리기사' 카테고리의 다른 글
[정보처리기사 - 실기] IX. 소프트웨어 개발 보안 구축 - 소프트웨어 개발 보안 구현 (0) | 2020.11.23 |
---|---|
[정보처리기사 - 실기] IX. 소프트웨어 개발 보안 구축 - 소프트웨어 개발 보안 설계 (0) | 2020.11.23 |
[정보처리기사 - 실기] VIII. SQL 응용 - 절차형 SQL 작성하기 (0) | 2020.11.22 |
[정보처리기사 - 실기] VII. 애플리케이션 테스트 관리 - 애플리케이션 성능 개선 (0) | 2020.11.22 |
[정보처리기사 - 실기] VII. 애플리케이션 테스트 관리 - 애플리케이션 통합 테스트 (0) | 2020.11.22 |