📝 Certificate
SQLD 4-6 ] 윈도우 함수(WINDOW FUNCTION)
SQLD 4-6 ] 윈도우 함수(WINDOW FUNCTION)
2016.02.29WINDOW FUNCTION - 칼럼과 칼럼과의 연산, 비교, 연결 집합 등 은 쉬운데.. 행과 행간의 관계 정의하거나 비교, 연산 하려고 만들었다! - 분석함수 나 순위함수 로도 알려졌다. - 중첩(NEST) 해서 사용하지는 못하지만, 서브쿼리에서는 사용할 수 있다! 윈도우함수의 종류 1. 그룹 내 순위 함수 -> RANK / DENSE_RANK / ROW_NUMBER 2. 그룹 내 집계 함수 -> SUM / MAX / MIN / AVG / COUNT 3. 그룹 내 행 순서 함수 -> FIRST_VALUE / LAST_VALUE / LAG / LEAD 4. 그룹 내 비율 관련 함수 -> CUME_DIST / PERCENT_RANK / NTILE / RAT..
SQLD 4-5 ] 그룹 함수(GROUP FUNCTION)
SQLD 4-5 ] 그룹 함수(GROUP FUNCTION)
2016.02.28데이터 분석 개요 - ANSI/ISO SQL 표준은 데이터 분석을 위해서 다음 세 가지 함수를 정의하고 있다. 1. AGGREGATE FUNCTION 2. GROUP FUNCTION 3. WINDOW FUNCTION 1. AGGREGATE FUNCTION - GROUP FUNCTION 의 한 부분. 그 앞에서 배웠던 집계 함수들. COUNT, SUM, AVG, MAX, MIN 같은거 .. 2. GROUP FUNCTION - 이제야 좀 그룹 다운 기능을 제공하나? 스케일이 좀 커지나..?? - 결산 개념의 업무를 가지는 원가/판매 시스템 에서 소계, 중계, 합계 등 - 그룹 함수를 사용한다면 하나의 SQL 로 테이블을 한번만 읽어서 빠르게 처리할 수 있다. - 종류는.. - ROLL..
SQLD 4-4 ] 서브쿼리
SQLD 4-4 ] 서브쿼리
2016.02.27서브쿼리 - SQL 문 안에 SQL 문. 서브쿼리는 메인쿼리의 칼럼을 모두 사용할 수 있지만, 메인쿼리는 서브쿼리의 칼럼을 사용할 수 없다 서브쿼리를 쓸때 주의점1. 서브쿼리를 괄호호 감싸서 사용한다2. 단일 행 또는 복수 행 비교 연산자와 함께 사용 가능하다. 단일 행 비교연산자는 서브쿼리의 결과가 반드시 1건 이하 이여야하고 복수 행 비교연산자는 서브쿼리의 결과 건수와 상관 없다.3. 서브쿼리에서는 ORDER BY 를 사용하지 못한다. ORDER BY 는 SELECT 절에서 오직 한 개만 올 수 있어서.. 메인 SELECT 의 마지막에 장식해야한다. 서브쿼리가 가능한 곳- SELECT 절- FROM 절- WHERE 절- HAVING 절- ORDER BY 절- INSERT 문의 VAL..
SQLD 4-3 ] 계층형 질의와 셀프 조인
SQLD 4-3 ] 계층형 질의와 셀프 조인
2016.02.27계층형 질의 - 동일 테이블에 계층적으로 상위와 하위 데이터가 포함된 데이터 ? 그러니까, 한 테이블 내에서 사원 A 의 관리자 되는 사람은 지정 안되있고사원 B, 사원 C의 관리자는 사원 A 이다. ORACLE 계층형 질의 1. START WITH : 계층 구조 전개의 시작 위치를 지정하는 구문. (루트 데이터를 지정. 액세스)2. CONNECT BY : 다음에 전개될 자식 데이터를 지정하는 구문. 자식 데이터는 CONNECT BY 절에 있는 조건에 만족해야 한다.(조인)3. PRIOR : 저기엔 안나와있지만 CONNECT BY 절에 사용되며, 현재 읽은 칼럼을 지정한다. PRIOR 자식 = 부모 : 부모 -> 자식 방향으로 전개 PRIOR 부모 = 자식 : 자식 -> 부모 방향..
SQLD 4-2 ] 집합 연산자
SQLD 4-2 ] 집합 연산자
2016.02.26집합 연산자 (STANDARD JOIN) - 두 개 이상의 테이블에서 JOIN 을 사용하지 않고도 연관된 데이터를 조회할 수 있다고..?! - 집합 연산자를 이용하는 방법이다! 여러개의 질의의 결과를 연결하여 하나로 결합하는 방식. - SELECT 절의 칼럼 수가 동일하고 SELECT 절의 동일 위치에 존재하는 칼럼의 데이터 타입이 상호 호환 가능해야 한다. 합집합 (UNION/UNION ALL)교집합 (INTERSECT)차집합 (EXCEPT) select 칼럼1, 칼럼2, ...from 테이블1where group byhavingselect 칼럼1, 칼럼2, ...from 테이블2wheregroup byhavingorder by 1, 2;아 이렇게 select 덩어리가 2개 이상 인 거의..
SQLD 4-1 ] 표준 조인
SQLD 4-1 ] 표준 조인
2016.02.25표준 조인 (STANDARD JOIN) - 사용자는 테이블간의 JOIN 조건을 FROM 절에서 명시적으로 정의할 수 있다 - 대표적인 ANSI/ISO 표준 SQL 의 기능 1. STANDARD JOIN 기능 추가 (CROSS, OUTER JOIN 등 새로운 FROM 절 JOIN 기능들) 2. SCALAR SUBQUERY, TOP-N QUERY 등의 새로운 SUBQUERY 기능들 3. ROLLUP, CUBE, GROUPING SETS 등의 새로운 리포팅 기능 4. WINDOW FUNCTION 같은 새로운 개념의 분석 기능들 뭐. 이런 기능들이 요즘 표준으로 기준된 SQL 의 기능들인가 보다. 이게 시험에 나왔다고 한다...;; 이걸 왜.. 1970년 : Dr. E.F.Codd 관계형 DBMS..
SQLD 3-9 ] JOIN
SQLD 3-9 ] JOIN
2016.02.25JOIN - 두 개 이상의 테이블들을 연결 또는 결합하여 데이터를 출력 - 관계형 데이터베이스의 가장 큰 장점이면서 대표적인 핵심 기능! EQUI JOIN - 두 개의 테이블 간에 칼럼 값들이 서로 정확히 일치하는 경우. PK FK 의 관계. = 연산자를 사용해서 표현한다 방법 1. where 에 join 조건 쓰기select 테이블1.칼럼명, 테이블2.칼럼명 .. from 테이블1, 테이블2 where 테이블1.칼럼명 = 테이블2.칼럼명; 방법 2. from 에 inner join 과 where 대신 on 절 쓰기select 테이블1.칼럼명, 테이블2.칼럼명 .. from 테이블1 INNER JOIN 테이블2 on 테이블1.칼럼명 = 테이블2.칼럼명; 두개 다 같은 말이다. 사용법이 다르다..
SQLD 3-8 ] ORDER BY
SQLD 3-8 ] ORDER BY
2016.02.25ORDER BY 정렬 - 조회된 데이터들을 정렬하여 출력한다! select 칼럼명from 테이블명where 조건식group by 칼럼이나 표현식having 그룹조건식order by 칼럼이나 표현식 (ASC/DESC); order by 를 새로 알게됬다. SQL 문장의 맨 마지막 에 위치하는 애다.ASC / DESC 옵션. ASC: 오름차순으로 정렬 (기본값이므로 생략 됨!)DESC : 내림차순 정렬 select PLAYER_NAME as 선수명, POSITION as 포지션, BACK_NO as 백넘버from PLAYERorder by PLAYER_NAME desc; player_name 을 내림차순으로 정렬했다. player_name 의 별명은 선수명. player_name 대신 별명 선수명을 써도 ..
SQLD 3-7 ] GROUP BY, HAVING 절
SQLD 3-7 ] GROUP BY, HAVING 절
2016.02.24집계 함수 (Aggregate Function) - 여러 행들의 그룹이 모여서 그룹당 단 하나의 결과를 돌려주는 함수. - GROUP BY 절의 행들은 소그룹화 한다. - SELECT 절, HAVING 절, ORDER BY 절에 사용할 수 있다. 집계함수명 ( [DISTINCT/ALL] 칼럼이나 표현식 ) DISTINCT 옵션과 ALL 옵션은 그 결과들 중복된거 한번만 표시할껀지 그냥 다 표시할껀지 선택하는거. 일반적으로 집계 함수 들은 GROUP BY 절과 같이 사용되지만 아래와 같이 테이블 전체가 하나의 그룹이 되는 경우에는GROUP BY 절 없이 단독으로도 사용 가능하다 SELECT COUNT(*) "전체 행수", COUNT(HEIGHT) "키 건수", MAX(HEIGHT) 최대키, MIN..
SQLD 3-6 ] 함수
SQLD 3-6 ] 함수
2016.02.23함수 (Function) - 벤더에서 제공하는 함수인 '내장 함수' 와 '사용자가 정의할 수 있는 함수' 로 나뉜다. - 내장 함수 에는 단일행함수 / 다중행 함수가 있다. - 단일행 함수 : 함수의 입력 값이 단일행 값이 입력되는 함수(Single-Row Function) - 다중행 함수 : 함수의 입력 값이 여러행 값이 입력되는 함수(Multi-Row Function) - 다중행 함수에는 또 집계함수 / 그룹함수 / 윈도우 함수 로 나뉠 수 있다. - 함수는 입력되는 값이 아무리 많아도 출력은 하나만 된다는 M:1 관계라는 중요한 특징을 갖고 있다. - 이번 3-6 함수 절에서는 내장 함수 안에 단일행 함수 이 하나만 다룹니다! 단일행 함수의 종류 단일행 함수의 특징 1. SEL..
SQLD 3-5 ] WHERE
SQLD 3-5 ] WHERE
2016.02.22WHERE - 테이블에 있는 모든 자료가 아닌 원하는 자료를 검색하기 위해 사용 - 두 개 이상의 테이블에 대한 조인 조건을 기술하거나 결과를 제한하기 위해 사용 - 조건절을 사용하지 않고 필요없고 많은 자료들을 요청하는 SQL 문장은 cpu,memory,resources 를 과다하게 사용한다 SELECT(ALL/DISTINCT) 칼럼명 (ALIAS명)FROM 테이블명WHERE 조건식; where 조건식에는 아래 내용으로 구성된다1. 칼럼명2. 비교 연산자3. 문자, 숫자, 표현식4. 비교 칼럼명(join 사용시) where PLAYER_NAME = 58; PLAYER_NAME (칼럼명)= (비교연산자)58 (문자, 숫자, 표현식) 연산자의 종류 연산자의 우선순위 ( ) -> NOT -..
SQLD 3-4 ] TCL (TRANSACTION CONTROL LANGUAGE)
SQLD 3-4 ] TCL (TRANSACTION CONTROL LANGUAGE)
2016.02.22트랜잭션 - 데이터베이스의 논리적 연산 단위. - 밀접히 관련되어서 분리될 수 없는 한 개 이상의 데이터베이스 조작(insert, update, delete, select for update) - 분할할 수 없는 최소의 단위 ALL or NOTHING - COMMIT : 올바르게 반영된 데이터를 데이터베이스에 반영. (한마디로 적용.) - ROLLBACK : 트랜잭션 시작 이전의 상태로 돌리는 것. - LOCK : 트랜잭션이 수행되는 동안 특정 데이터에 대해서 다른 트랜잭션이 동시에 접근하지 못하도록 제한하는 기법 한마디로. 트랜잭션이란 물리적이 아니라 논리적. 눈에 보이지 않고. 어떠한 작업의 단위이다.트랜잭션내에 묶인 작업들이 다 성공 하거나 아니면 하나라도 실패하면 전으로 돌려놔야한다.대..