본문 바로가기

반응형

[DB]DataBase

(43)
[SQLD] 윈도우 함수 윈도우 함수서로 다른 행의 비교나 연산을 위해 만든 함수GROUP BY를 쓰지 않고 그룹 연산 가능LAG, LEAD, SUM, AVG, MIN, MAX, COUNT, RANGPARTITION BY절출력 할 총 데이터 수 변화 없이 그룹연산을 수행할 GROUP BY 컬럼ORDER BY절RANK의 경우 필수정렬 컬럼 및 정렬 순서에 따라 순위 변화SUM, AVG, MIN, MAX, COUNT 등은 누적값 출력 시 사용ROWS|RANGE BETWEEN A AND B연산 범위 설정ORDER BY절 필수 PARTITION BY, ORDER BY, ROWS ... 절 전달 순서 중요!(ORDER BY를 PARTITION BY 전에 사용 불가) 윈도우 함수가 필요한 이유 (그룹 함수의 오류)전체를 출력하는 컬럼과 그..
[SQLD] 그룹 함수 그룹 함수숫자함수 중 여러 값을 전달하여 하나의 요약값을 출력하는 다중행 함수수학/통계 함수 (기술통계 함수) 들을 의미GROUP BY절에 의해 그룹별 연산 관계를 리턴반드시 한 컬럼만 전달NULL은 무시하고 연산 COUNT행의 수를 세는 함수대상 컬럼은 * 또는 단 하나의 컬럼만 전달 가능* 사용 시 모든 컬럼의 값이 NULL일 때만 COUNT 제외문자, 숫자, 날짜 컬럼 모두 전달 가능행의 수를 세는 경우 NOT NULL 컬럼을 찾아 세는 것이 좋음 (PK 컬럼)SUM총 합 출력숫자 컬럼만 전달 가능AVG평균 출력숫자 컬럼만 전달 가능NULL을 제외한 대상의 평균을 리턴하므로 전체 대상 평균 연산 시 주의MIN / MAX최소(MIN) / 최대(MAX) 값 출력날짜, 숫자, 문자 모두 가능오름차순 순서..
[SQLD] 집합 연산자 집합 연산자SELECT문 결과를 하나의 집합으로 간주하고, 집합에 대한 합집합, 교집합, 차집합을 연산SELECT문과 SELECT문 사이에 집합 연산자 정의두 집합의 컬럼이 동일하게 구성컬럼의 데이터 타입과 순서가 일치해야 함전체 집합의 데이터 타입과 컬럼명은 첫번째 집합에 의해 결정일반 집합 연산자를 SQL과 비교UNION 연산은 UNION 기능으로INTERSECTION 연산은 INTERSECTION 기능으로DIFFERENCE 연산은 EXCEPT(오라클은 MINUS) 기능으로PRODUCT 연산은 CROSS JOIN 기능으로 구현되었다. 집합 연산자 종류합집합두 집합의 총 합 (전체)을 출력UNION, UNION ALL 사용1) UNION중복된 데이터는 한 번만 출력중복된 데이터를 제거하기 위해 내부적으..
[SQLD] 서브 쿼리 서브쿼리하나의 SQL 문 안에 포함되어 있는 또 다른 SQL 문을 의미반드시 괄호로 묶어야 함예) SELECT 문 안에 SELECT 문서브쿼리 사용 가능한 곳SELECT 절FROM 절WHERE 절HAVING 절ORDER BY 절기타 DML(INSERT, DELETE, UPDATE) 절* GROUP BY 절은 사용 불가 서브쿼리 종류1. 동작하는 방식에 따라비연관 (UN-CORRELATED) 서브쿼리서브쿼리가 메인쿼리 컬럼을 가지고 있지 않은 형태메인 쿼리에 서브 쿼리가 실행된 결과값을 제공하기 위한 목적으로 사용연관 (CORRELATED) 서브쿼리서브쿼리가 메인쿼리 컬럼을 가지고 있는 형태일반적으로 메인쿼리가 먼저 수행된 후에 서브쿼리에서 조건이 맞는지 확인하는 목적으로 사용2. 위치에 따라1) 스칼라 ..
[SQLD] 표준 조인 표준 조인ANSI/ISO SQL에서 표준으로 작성되는 INNER JOIN, NATURAL JOIN,  CROSS JOIN, OUTER JOIN(LEFT, RIGHT, FULL)을 의미(SQL에서 표시하는 FROM 절의 JOIN 형태) INNER JOIN내부 조인이라고 하며, 조인 조건이 일치하는 행만 출력 (ORACLE 조인 기본)ANSI 표준의 경우 FROM 절에 INNER JOIN 혹은 줄여서 JOIN을 명시함USING 또는 ON 조건절을 필수적으로 사용ON절조인할 컬럼의 컬럼명이 서로 다르더라도 사용 가능조인 컬럼을 명시하기 위해 사용ON 조건의 괄호는 생략 가능 (optional)컬럼명이 같을 경우 테이블 이름이나 별칭을 사용하여 명확하게 지정 (테이블 출처 명시)ON 조건절에서 조인 조건을 명시..
[SQLD] 순수 관계 연산자 순수 관계 연산자순수 관계 연산자랑 관계 데이터베이스에 적용할 수 있도록 개발한 관계 연산자를 말한다.관계의 구조와 특성을 이용하는 연산자관계 데이터 모델에서 새로 제시된 연산자관계에 저장되어 있는 데이터를 다양하게 처리하는데 사용순수 관계 연산자 종류SELECTPROJECTJOINDIVISION순수 관계 연산자와 SQL 문장 비교SELECT 연산은 WHERE 절로 구현PROJECT 연산은 SELECT 절로 구현(NATURAL) JOION 연산은 다양한 JOIN 기능으로 구현DIVIDE 연산은 현재 사용되지 않음
[SQLD] JOIN 조인 JOIN(조인)두 개 이상의 테이블들을 연결 또는 결합하여 데이터를 출력하는 것을 조인(JOIN)이라고 하며, 일반적인 경우 행들은 PRIMARY KEY(PK)나 FOREIGN KEY(FK) 값의 연관에 의해 조인이 성립된다.하지만 어떤 경우에는 이러한 PK, FK의 관계가 없어도 논리적인 값들의 연관만으로 조인이 성립 된다.여러 테이블의 데이터를 사용하여 동시에 출력하거나 참조할 경우 사용FROM절에 조인할 테이블 나열ORACLE 표준은 테이블 나열 순서가 중요하지 않지만, ANSI 표준은 OUTER JOIN시 순서 중요WHERE 절에서 조인 조건을 작성(ORACLE 표준)동일한 열 이름이 여러 테이블에 존재할 경우 열 이름 앞에 테이블 이름이나 테이블 Alias 붙임N개의 테이블을 조인하려면 최소 N..
[SQLD] ORDER BY절 ORDER BY절데이터는 입력된 순서로 출력되나, 출력되는 행의 순서를 사용자가 변경하고자 할 때 ORDER BY절을 사용ORDER BY 뒤에 명시된 컬럼 순서로 정렬1차 정렬, 2차 정렬 전달 가능정렬 순서를 오름차순(ASC: Ascending), 내림차순(DESC: Descending)으로 전달생략 시 오름차순 정렬이 default유일하게 SELECT절에 정의한 컬럼 별칭 사용 가능SELECT절 보다 늦게 수행되는 구문은 ORDER BY절 뿐이므로 ORDER BY절만 SELECT에서 정의한 컬럼 별칭 사용 가능SELECT절에 선언된 순서대로의 숫자로도 사용 가능ORDER BY절 특징기본적인 정렬 순서는 오름차순(ASC)이다.숫자형 데이터 타입은 오름차순으로 정렬할 경우 가장 작은 값부터 출력된다.날짜..

반응형