본문 바로가기

SQL8

[SQL 기본과 활용] Multi-Row Function(★★★) 다중행함수(Multi-Row Function) 여러 행의 그룹에 대해 적용되는 함수 다중행 함수의 종류 그룹함수(Group Function) 집계함수(Aggregate Function) : COUNT, SUM, AVG, MAX/MIN 고급 집계함수 : ROLLUP, CUBE, GROUPING SETS 윈도우 함수(Winodw Function) 집계함수 >> 전체의 통계를 낸다고 생각해라 여러 행의 그룹에 대한 연산을 통해 하나의 결과를 반환함 SELECT, HAVING, ORDER BY 절에 사용 가능 GROUP BY 절을 통해 그룹핑 기준 명시 NULL을 제외하고 계산 100명 중 10명의 성적이 NULL일 때, 전체 평균을 90명에 대한 평균 "NULL 값은 없다고 생각" 입력행 전체가 NULL인 경.. 2021. 4. 9.
[SQL 기본과 활용] Subquery(★★★) 서브쿼리 SQL문 안에 포함된 SQL문 예) 신장이 가장 큰 선수의 정보 조회 SELECT MAX(HEIGHT) FROM PLAYER + SELECT PLAYER_NAME, POSITION, HEIGHT FROM PLAYER WHERE HEIGHT = 194; = SELECT PLAYER_NAME, POSITION, HEIGHT FROM PLAYER WHERE HEIGHT = (SELECT MAX(HEIGHT) FROM PLAYER); 서브쿼리 SQL문 안에 포함된 SQL문 서브쿼리 위치 : SELECT절, WHERE절, FROM절(Inline View) 결과 칼럼/행의 수 : 단일행 서브쿼리 / 다중행서브쿼리 단일칼럼 서브쿼리 / 다중칼럼서브쿼리 메인 쿼리와의 연관성 : 연관(상관) 서브쿼리 / 비연관.. 2021. 4. 8.
[SQL 기본과 활용] Join_Set Operation(★★★) JOIN E.F.CODD의 연산자 SQL의 많은 기능이 RDB이론을 수립한 E.F.CODD.박사의 논문에서 소개됨 4개의 일반집합연산자 + 4개의 순수관계연산자 (1문제 자주 나옴) 일반집합연산자의 SQL구현 UNION(합집합) → UNION / UNION ALL (공통집합의 중복 허용) INTERSECTION(교집합) → INTERSECT DIFFERENCE(차집합) → MINUS(Oracle) / EXCEPT(MS-SQL) PRODUCT(곱집합) → CROSS JOIN *곱집합은 JOIN으로 해결됨 순수관계연산자의 SQL구현 SELECT → WHERE절 *여러가지 RECORD중 원하는ROW만 고를 수 있어야 함(조건문) PROJECT → SELECT절 *원하는 COLUMN을 고르는 것 (Natural.. 2021. 4. 7.
[SQL 기본과 활용] TCL/DCL TCL(Transaction Control Language) : 트랜잭션을 제어하는 명령어 - 트랜잭션 데이터베이스의 논리적 연산단위 의미적으로 분할할 수 없는 최소의 단위 "예를 들어 '이체'라는 행위를 하기 위해서는 자산의 증가와 감소가 동시에 일어나야 함 → 증가와 감소가 함께 최소단위" 일반적으로 하나의 트랜잭션은 여러 SQL 문장을 포함함 성공시 모든 연산을 반영, 취소시 모든 연산을 취소함 → All or Nothing - 트랜잭션의 예 도서주문 재고 수량 감소, 주문 내역 생성, 결제, 포인트 적립 계좌 이체 원 계좌의 잔액 감소, 다른 계좌의 잔액 증가 교통카드 충전 잔액 증가, 결제 등 - 트랜잭션의 특성(ACID 특성) 특성 설명 원자성(Atomicity) "트랜잭션은 쪼개지면 안된다는.. 2021. 4. 2.
[SQL 기본과 활용] Function "특정한 기능을 수행하는 단위" 함수의 유형 - 생성 주체 사용자 정의 함수(User Defined Function) - 사용자가 정의 내장 함수(Built-in Function) - 벤더가 정의 - 적용 범위 단일 행 함수(Single-Row Function) 문자형 함수, 숫자형 함수, 날짜형 함수 (데이터타입에 따라서 구분) 제어함수, 변환함수, NULL 관련 함수(역할과 사용법 정리 필수!)** 다중 행 함수(Multi-Row Function) 그룹함수(Group Function) 집계 함수(Aggregate Function) 포함 윈도우 함수(Window Function) 단일행 함수의 특징 예) SELECT PLAYER_NAME, LENGTH(PLAYER_NAME) AS 길이 FROM PLAY.. 2021. 3. 29.
[SQL 기본과 활용] DDL 테이블 생성 테이블 생성 규직 테이블명 객체를 의미할 수 있는 이름으로, 단수형을 권고함 다른 테이블의 이름과 중복되지 않아야 함 칼럼명 한 테이블 내에서는 칼럼명이 중복되지 않아야 함(다른 테이블과는 중복되어도 에러가 발생하지 않음) 테이블 생성시 각 칼럼들은 괄호 내에서 콤마로 구분됨 칼럼 뒤에 데이터 유형이 반드시 지정되어야 함 테이블명 & 칼럼명 사전에 정의된 예약어(Reserved word)는 사용불가 ex) SELECT, FROM WHERE 같은 것 테이블명과 칼럼명에는 문자, 숫자, 일부 기호( _ $ # )만 허용됨 테이블명과 칼럼명은 반드시 문자로 시작해야 함( 숫자 기호 불가) 제약 조건명 : 다른 제약 조건의 이름과 중복되지 않아야 함 Oracle의 주요 데이터 타입 Type 설명 C.. 2021. 3. 29.