본문 바로가기

반응형

Data Science/SQLD

(24)
[SQLD] SQL 활용 2-7. DCL (Data Control Language) 7절. DCL 1. DCL 개요 :유저를 생성하고 권한을 제어하는 명령어 [DDL, DML, TCL] 2. 유저와 권한 : 공유할 테이블이나 기타 오브젝트에 대한 접근 권한만을 부여하는 방법 Oracle은 유저를 통해 데이터베이스에 접속 인스턴스에 접속을 하고 그에 해당하는 스키마에 오브젝트 생성 등의 권한을 부여 SQL Server는 인스턴스에 접속하기 위해 로그인이라는 것을 생성 인스턴스 내에 존재하는 다수의 데이터베이스에 연결하여 작업하기 위해 유저를 생성한 후 로그인과 유저를 매핑 가. 유저 생성과 시스템 권한 부여 :유저를 생성하고 데이터베이스에 접속 -> 원하는 작업에 해당하는 시스템 권한이 있어야 문장 실행 가능 유저 생성 권한 (1) SCOTT 유저로 접속한 다음 PJS 유저(패스워드: K..
[SQLD] SQL 활용 2-8. 절차형 SQL 8절. 절차형 SQL 1. 절차형 SQL 개요 : 절차 지향적인 프로그램이 가능하도록 연속적인 실행이나 조건에 따른 분기처리를 이용해 -> 특정기능을 수행하는 저장 모듈 수행 [Procedure, User Defined Function, Trigger] 2. PL/SQL 개요 가. PL/SQL 특징 : Oracle의 경우 Block 구조로, Block 내에는 DML 문장과 QUERY 문장, 그리고 절차형 언어(IF, LOOP) 등을 사용 가능하며, 절차적 프로그래밍을 가능하게 하는 트랜잭션 언어 절차형 SQL : PL/SQL을 이용해 개발한 저장 모듈로 데이터베이스 서버에 저장하여 사용자와 애플리케이션 사이에서 공유할 수 있도록 만든 일종의 SQL 컴포넌트 프로그램 -> 독립적으로 실행되거나 다른 프로그..
[SQLD] SQL 활용 2-6. 윈도우 함수 6절. 윈도우 함수 1. WINDOW FUNCTION 개요 : 행과 행간의 관계를 쉽게 정의하기 위해 만든 함수로 분석함수나 순위함수로도 불린다 [다른 함수와 달리 중첩해서 사용 불가하지만, 서브쿼리에서 사용 가능] 종류 그룹 내 순위 관련 함수 RANK DENSE_RANK ROW_NUMBER 그룹 내 집계 관련 함수 SUM MAX MIN AVG COUNT 그룹 내 행 순서 관련 함수 FIRST_VALUE LAST_VALUE LAG LEAD 그룹 내 비율 관련 함수 CUME_DIST PERCENT_RANK NTILE RATIO_TO_REPORT 선형 분석을 포함한 통계 분석 관련 함수 [통계 특화 함수] CORR, COVAR_POP, COVAR_SAMP, STDDEV, STDDEV_POP, STDDEV_..
[SQLD] SQL 활용 2-5. 그룹 함수 5절. 그룹 함수 1. 데이터 분석 개요 데이터 분석 함수 종류 - AGGREGATE FUNCTION - GROUP FUNCTION - WINDOW FUNCTION AGGREGATE FUNCTION - COUNT, SUM, AVG, MAX, MIN 외 각종 집계 함수 GROUP FUNCTION - 하나의 SQL로 테이블을 한 번만 읽어서 빠르게 원하는 리포트를 작성 - 소계/합계를 표시하기 위해 GROUPING 함수와 CASE 함수를 이용하면 쉽게 원하는 포맷의 보고서 작성 그룹 함수의 종류 ROLLUP : 소그룹 간의 소계를 계산하는 함수 GROUP BY의 확장으로 병렬로 수행이 가능 -> 시간이나 지역처럼 계층적 분류를 포함하고 있는 데이터 집계에 적합 CUBE : GROUP BY 항목들 간 다차원적..
[SQLD] SQL 활용 2-4. 서브쿼리 서브쿼리 : 하나의 SQL문안에 포함되어 있는 또 다른 SQL문 -> 알려지지 않은 기준을 이용한 검색을 위해 사용 메인쿼리가 서브쿼리를 포함하는 종속적인 관계 -> 서브쿼리는 메인쿼리의 칼럼을 모두 사용할 수 있지만, 메인쿼리는 서브쿼리의 칼럼을 사용할 수 없다. [조인과 차이점 : 조인은 조인에 참여하는 모든 테이블의 칼럼을 사용 가능] 질의 결과에 서브쿼리 칼럼을 표시하는 방법 조인 방식으로 변환 함수 사용 스칼라 서브쿼리 사용 서브쿼리 : 서브쿼리 레벨과 상관없이 항상 메인쿼리 레벨로 결과 집합 생성 조인 : 집합간의 곱의 관계 -> M * N : MN레벨의 집합 EX) 결과는 조직 레벨, 사원 테이블에서 체크해야할 조건 존재 : SQL문에 DISTINCT를 추가해 결과를 조직레벨로 만든 후, 메..
[SQLD] SQL 활용 2-3. 계층형 질의와 셀프 조인 1. 계층형 질의 : 계층형 데이터가 존재하는 경우 데이터를 조회하기 위해서 사용한다. 계층형 데이터 : 동일 테이블에 계층적으로 상위와 하위 데이터가 포함된 데이터 ex : 조직, 사원, 메뉴 가. Oracle 계층형 질의 SELECT.... FROM 테이블 WHERE condition AND condition... START WITH condition CONNECT BY [NOCYCLE] condition AND condition... [ORDER SIBLINGS BY column, column, ...] 설 명 START WITH 계층 구조 전개의 시작 위치를 지정하는 구문이다. 즉, 루트 데이터 를 지정한다.(액세스) CONNECT BY CONNECT BY에 주어진 조건을 만족하는 자식 데이터를 ..
[SQLD] SQL 활용 2-2. 집합 연산자 집합 연산자 : 두 개 이상의 테이블에서 조인을 사용하지 않고 연관된 데이터를 조회하는 방법 차이 기존의 JOIN FROM 절에 검색하고자 하는 테이블을 나열하고, WHERE 절에 조인 조건을 기술하여 원하는 데이터를 조회 집합 연산자 여러 개의 질의의 결과를 연결하여 하나로 결합하는 방식을 사용한다. 즉, 집합 연산자는 2개 이상의 질의 결과를 하나의 결과 목적 서로 다른 테이블에서 유사한 형태의 결과를 반환하는 것을 하나의 결과로 합치고자 할 때 동일 테이블에서 서로 다른 질의를 수행하여 결과를 합치고자 할 때 튜닝관점에서 실행계획을 분리하고자 하는 목적 사용제약조건 -SELECT 절의 칼럼 수가 동일하고 SELECT 절의 동일 위치에 존재하는 칼럼의 데이터 타입이 상호 호환 가능 (단, 반드시 동일..
[SQLD] SQL 활용 2-1. 표준 조인 1. STANDARD SQL 개요 가. 일반 집합 연산자 나. 순수 관계 연산자 가. 일반 집합 연산자 1. UNION 연산 -> UNION 기능 2. INTERSECTION 연산 -> INTERSECTION 기능 3. DIFFERENCE 연산 -> EXCEPT(MINUS) 기능 4. PRODUCT 연산 -> CROSS JOIN 기능 1. UNION 연산 [UNION | UNION ALL] -> 합집합 제공 : 공통 교집합의 중복을 없애기 위한 작업 [정렬 작업 발생] 2. INTERECTION 연산 -> 교집합 : 두 집합의 공통집합을 추출 3. DIFFERENCE 연산 -> 차집합 : 첫 번째 집합에서 두 번째 집합과의 공통 집합 제외한 부분 [EXCEPT / MINUS] 4. PRODUCT 연산 -..

반응형