Recode

    [SQL] 함수 - 그룹 함수(AVG,SUM,MIN,MAX,COUNT)

    그룹 함수 1. 그룹 단위로 연산 결과를 출력하는 함수 2. 주로 통계 관련 연산을 하는 함수들이다. 3. 그룹 함수 연산 시 NULL값은 제외한 결과를 출력한다. 숫자 관련 그룹 함수 AVG([ALL|DISTINCT] n) : 평균 SUM([ALL|DISTINCT] n) : 합계 STDDEV([ALL|DISTINCT] n) : 표준편차 VARIANCE([ALL|DISTINCT] n) : 분산 1 2 SELECT ROUND(AVG(salary)), SUM(salary), ROUND(STDDEV(salary)), ROUND(VARIANCE(salary)) FROM employees; cs 일반 그룹 함수 MIN([ALL|DISTINCT] expr) : 최소값 MAX([ALL|DISTINCT] expr) :..

    [SQL] 함수

    함수 특정 연산을 수행해주는 연산 구조 연산에 필요한 인수를 받고 실행한 수만큼 결과를 돌려준다. 단일행 함수 행단위의 값을 인수로 받아서 행의 수만큼 결과를 출력해주는 함수 그룹합수 그룹(여러행) 함수는 그룹의 단위로 값을 입력 받아 연산하는 함수. 주로 통계 관련 연산하는 함수들이 있다.

    [SQL] Sub Query 서브 쿼리

    Sub Query 서브 쿼리 란? 1. 서브쿼리는 하나의 SQL 문 안에 포함되어 있는 또 다른 SQL문을 말한다. 2. 서브쿼리는 괄호로 감싸서 사용하는 쿼리를 말한다. 3. 주로 함수를 사용한 테이블의 결과를 사용하여 테이블을 연결시켜야 하는 경우 사용 1 2 3 4 --서브쿼리 SELECT qna_idx FROM project9.tbl_qna WHERE qna_idx = (SELECT qna_idx FROM project9.tbl_qna_reply WHERE reply_idx = 34) cs INNER JOIN 생략하기 1. FORM에 연결할 두 테이블을 작성한다. 2. JOIN의 ON대신 WHERE에 두 테이블의 공통 컬럼을 작성해 준다. 3. 간단한 쿼리의 경우 위의 쿼리와 비교하여 짧고 간단하..

    [SQL] SELF JOIN

    SELF - JOIN SELF - JOIN(셀프 조인)은 명령어가 따로 있는 것이 아니라 동일한 테이블을 연결시키는 경우를 말한다. 1 2 3 4 SELECT a.employee_id '사원_사번', a.last_name '사원_성', b.employee_id '매니저_사번', b.last_name '매니저_성' FROM employees a JOIN employees b ON a.manager_id = b.employee_id cs JOIN을 사용하지 않고 테이블 연결하기 1 2 3 4 SELECT a.employee_id '사원_사번', a.last_name '사원_성', b.employee_id '매니저_사번', b.last_name '매니저_성' FROM employees a, employees ..

    [SQL] JOIN 연결 (INNER, OUTER, LEFT, RIGHT)

    JOIN 이란 1. 여러 테이블의 데이터를 하나의 구문으로 조회하는 문법 2. JOIN문법을 통해서 데이터를 연결해 조회하는데 필요한 요소는 두 가지 연결할 테이블 명 → FROM , JOIN 절 연결할 조건 → ON절 1 2 3 4 5 6 7 SELECT employee_id, last_name, emp.department_id, department_name FROM employees emp JOIN departments dept ON emp.department_id = dept.department_id; cs INNER JOIN - 교집합 교집합을 나타낸다. 따라서 겹치지 않는 행이 존재할 경우, 그 행은 결과에서 제외된다. 1 2 3 4 SELECT Sales.*, Countries.Country ..

    [SQL] GROUP BY 집합, HAVING 조건

    GROUP BY 란? 1. 테이블의 데이터를 특정 컬럼을 기준으로 동일한 값을 가진 행끼리 그룹으로 묶어 단위를 생성 2. GROUP BY절에 여러 컬럼이 오는 경우 해당 컬럼의 모든 값이 일치한 경우 동일한 그룹으로 묶어서 그룹을 만들게 된다. 3. GROUP BY절에 사용된 컬럼은 무조건 SELECT절에 사용할 필요는 없다. GROUP BY절을 사용한 경우 SELECT절에는 그룹함수와 GROUP BY절의 기준 컬럼만 작성이 가능해진다. 1 2 3 4 5 SELECT department_id, job_id, SUM(salary), COUNT(*) FROM employees WHERE department_id > 40 GROUP BY department_id, job_id ORDER BY departme..

    [SQL] ORDER BY 정렬

    ORDER BY 1. 결과를 사용자 원하는 컬럼을 기준으로 정렬하여 출력할 수 있는 옵션절 2. ORDER BY 기준컬럼|컬럼앨리어스|컬럼의순서 [ASC|DESC] 숫자 문자 날짜 오름차순(사전순) 작은값 → 큰값 0 → 9 'A' → 'Z' 이전 → 이후 내림차순 큰값 → 작은값 9 → 0 'Z' → 'A' 이후 → 이전 1. DESC 내림차순 1 2 3 SELECT last_name, job_id, department_id, hire_date FROM employees ORDER BY hire_date DESC; cs 2.ASC 오름차순 정렬방식을 생략한 경우 기본으로 오름차순이 적용된다. 1 2 3 SELECT last_name, job_id, department_id, hire_date FROM ..

    [SQL] 3.WHERE 조건 절, IS NULL, IS NOT NULL, NOT, AND/OR

    1. IS NULL / IS NOT NULL 1. 컬럼의 값이 NULL이거나 값이 있는 행을 출력하는 연산자 2. NULL의 값은 직접적인 값의 비교를 할 수 없는 데이터로 비교 연산자로는 연산이 불가능하다. 1 2 3 SELECT last_name, manager_id FROM employees WHERE manager_id IS NULL; cs 1 2 3 SELECT last_name, manager_id FROM employees WHERE manager_id IS NOT NULL; cs 2. NOT 1. WHERE절의 조건식을 만족하는 값을 가진 행은 TRUE로 결과로 출력되고, 만족하지 못하는 값을 가진 행은 FALSE로 결과로 출력되지 않는다. 2. 이 때, NOT 연산자는 이 TRUE, FA..

    [SQL] 2.WHERE 조건 절, BETWEEN, IN, LIKE

    1. BETWEEN A AND B 1. 구간을 설정하여 구간 사이에 해당하는 값을 가지는 행들을 출력한다. 2. A : 구간의 최솟값 B : 구간의 최댓값 3. 경계값의 조건값들은 결과에 포함된다. 1 2 3 SELECT last_name, salary FROM employees WHERE salary BETWEEN 2500 AND 3500; cs 2. IN 비교 연산자 중 '='과 동일한 연산을 하나 조건값을 여러 개로 설정할 수 있다. 1 2 3 SELECT employee_id, last_name, salary, manager_id FROM employees WHERE manager_id IN (100, 101, 201); cs 3. LIKE 1. 패턴문자를 활용하여 패턴과 일치한 값을 가진 행을 ..