'데이터 분석' 카테고리의 글 목록

데이터 분석 22

MySQL 총 정리11: ROLLUP과 윈도우 함수

[ 목차]1. ROLLUP2. 윈도우 함수 1. ROLLUP 위와 같이 동물 호텔에 묵는 동물들의 정보가 담긴 테이블이 있다고 하자.이때 각 그룹별 어떤 집계를 하고 싶다면, GROUP BY와 집계함수를 사용하면 될 것이다. 이런 식으로 구해볼 텐데, 총계를 같이 구할 수는 없는 걸까? ROLLUP 이란?ROLLUP 함수는 GROUP BY 절과 함께 사용되어 데이터의 소계와 총계를 생성한다.ROPPUP은 지정된 각 그룹 수준에 대한 요약 행을 자동으로 추가하여 각 그룹에 대한 부분 합계를 표시한다.지정한 그룹의 개수가 N개라면 총 N + 1개의 조합이 출력된다.# 기본 구문SELECT 컬럼1, 컬럼2, ..., 집계함수(컬럼)FROM 테이블명GROUP BY 컬럼1, 컬럼2, ... WITH ROLLUP;..

MySQL 총 정리10: 서브쿼리- 스칼라, 인라인 뷰, 중첩

[ 목차 ]1. 스칼라 서브 쿼리2. 인라인 뷰3. 중첩 서브쿼리• 비연관 서브쿼리• 연관 서브쿼리 자, 위 그림에서 알 수 있듯이, 서브쿼리는 쿼리 안에 포함된 또 다른 쿼리로, 메인쿼리(가장 바깥쪽의 SELECT 문)를 보조하는 하위 쿼리를 의미한다. 서브쿼리를 구성하는 SELECT 문은 괄호로 둘러싸여 있으며, 다양한 위치에서 사용될 수 있다. 예를 들어:SELECT 절에서 특정 값을 계산하여 반환하거나,FROM 절에서 마치 테이블처럼 사용되어 서브쿼리의 결과를 임시 테이블로 취급하거나,WHERE 절에서 조건을 지정하는 데 사용될 수 있다. 쿼리의 결과, 즉 SELECT의 결과는 일반적으로 테이블이다. 따라서 테이블이 위치할 수 있는 곳에는 서브쿼리도 위치할 수 있다. 추가로 SQL에서는 편의성을 ..

MySQL 총 정리9: UNION과 UNION ALL

UNION과 UNION ALL은 두 개 이상의 SELECT 쿼리의 결과를 결합하는 데 사용되는 SQL 연산자다.JOIN과의 차이점은 JOIN은 가로로 데이터를 합해주는 느낌이라면, UNION은 새로로 합해주는 느낌이다. 이게 무슨 말이냐면...각각 위와 같은 모양으로 데이터가 결합하여 조회되기 때문이다.  👇 JOIN 관련 글은 아래 글을 참고해주세요. MySQL 총 정리8: 테이블 조인(JOIN)[ 목차 ]1. INNER JOIN2. OUTER JOIN•  LEFT OUTER JOIN•  RIGHT OUTER JOIN•  FULL OUTER JOIN ➯ SQL에서 JOIN은 두 개 이상의 테이블을 연결하거나 결합하여 하나의 결과 집합으로 만드는 방법이다.➯ JOIN을 사용bruders.tistory...

MySQL 총 정리8: 테이블 조인(JOIN)

[ 목차 ]1. INNER JOIN2. OUTER JOIN•  LEFT OUTER JOIN•  RIGHT OUTER JOIN•  FULL OUTER JOIN ➯ SQL에서 JOIN은 두 개 이상의 테이블을 연결하거나 결합하여 하나의 결과 집합으로 만드는 방법이다.➯ JOIN을 사용하면 여러 테이블에 나뉘어 있는 관련 데이터를 하나의 조합 결과로 모을 수 있다.➯ 이로 인해 데이터 분석이 쉬워지며, 필요한 데이터만 조회하여 효율적인 질의를 수행할 수 있다.➯ 다양한 JOIN 유형을 통해 원하는 방식으로의 데이터 결합이 가능하다.1. INNER JOIN두 개 이상의 테이블에서 공통된 컬럼을 기준으로 데이터를 결합할 때 사용된다.결합(join) 기준이 되는 컬럼/키의 값이 두 테이블에 모두 존재하는 레코드만 ..

MySQL 총 정리7: GROUP BY와 HAVING

GROUP BY10개의 데이터가 들어가있는 위와 같은 테이블이 있을 때, 각 부서별 총 사람은 몇 명인지 알아보고 싶다면 어떻게 해야할까? SELECT COUNT(부서) FROM EMPLOYEE;                       -- 결과: 10SELECT COUNT(DISTINCT 부서) FROM EMPLOYEE;   -- 결과: 4 COUNT 함수는 단순히 데이터의 개수를 세는 함수로, 전체 데이터의 개수나 중복된 값을 제거한 개수를 가져올 수 있다. 하지만, 연령대별 회원 가입 현황, 동물보호센터의 동물별 수, 월별 매출, 년도별 고객 수와 같은 유형별 집계값을 알고 싶을 때는, COUNT 함수만으로 충분하지 않다. 이러한 경우 데이터를 연령대별, 동물별, 월별, 년도별로 그룹화해서 집계해야..

MySQL 총 정리6: mysql 내장함수 모음

[ 목차 ]0. 함수란➯ 단일 행 함수 vs 복수 행 함수1. 산술 함수2. 문자열 함수3. 날짜 및 시간 함수4. 집계 함수5. 제어 흐름 함수6. 형 변환 함수0. 함수란? 단일 행 함수(Single-Row Functions)단일 행 함수는 하나의 입력 값에 대해 하나의 결과를 반환하는 함수다.즉, 하나의 행 데이터가 1:1로 치환되어 반환된다는 뜻이다.주로 데이터 변환이나 조작에 사용된다.보통 SELECT, WHERE, ORDER BY절에서 사용된다.중첩이 가능하다.SELECT UPPER(name), SUBSTRING(name, 1, 3)FROM EMPLOYEEWHERE LENGTH(name) > 5ORDER BY LOWER(name); 복수 행 함수(Multi-Row Functions)복수 행 함..

MySQL 총 정리5: ORDER BY로 데이터 정렬

ORDER BYSQL은 쿼리의 문법 작성 순서가 정해져 있다.SELECT: 가져올 컬럼을 지정FROM: 데이터를 가져올 테이블을 지정WHERE: 데이터를 필터링할 조건 지정GROUP BY: 데이터를 그룹화HAVING: 그룹화된 데이터에 대한 조건 지정ORDER BY: 데이터를 정렬+ LIMIT: 반환할 데이터의 양을 제한 ※ 만일 ORDER BY가 GROUP BY나 WHERE보다 앞에 위치하면 에러가 나니 꼭 순서를 지키도록 한다.※ ORDER BY를 사용하지 않을 경우, 데이터의 출력 순서는 보장되지 않는다.※ SQL 쿼리의 작성순서와 실제 쿼리의 처리 순서는 다르다는 것을 기억하자. 1) 오름차순 정렬(ASC - Ascending)  • (작은 값 → 큰 값)• 오름차순 정렬인 ASC은 기본값이라 생..

MySQL 총 정리4: 다양한 연산자로 필터링된 데이터 조회

[ 목차 ]WHERE1) 기본 문법2) 비교 연산자📝 WHERE절에서 별칭을 사용할 수 없는 이유3) 논리 연산자4) WHERE + IN5) WHERE + LIKE6) WHERE + BETWEEN7) IS NULLWHERE1) 기본 문법SELECT 열1, 열2, ...FROM 테이블명WHERE 조건;WHERE: 데이터에 대한 조건 설정WHERE 절을 통해 데이터가 필터링이 되어 특정 조건에 맞는 데이터만 조회ㆍ수정ㆍ삭제가 가능하다. 2) 비교 연산자값 비교시 사용=, !=, , =    •  참고로 AS로 별칭을 붙인 컬럼은 WHERE절에서 사용할 수 없다. 📝 WHERE절에서 별칭을 사용할 수 없는 이유 • MySQL에서 쿼리가 실행되는 처리 순서를 알면, 왜 WHERE절에서 별칭을 사용할 수 없는..

MySQL 총 정리3: SELECT으로 데이터 조회

📝 테이블 구조를 확인하는 방법 [ 목차 ]1. 기본•  열 / 특정 열 조회 방법2. 표현식1) 산술 연산 표현식📝 AS2) 문자열 표현식3) 날짜 표현식4) 테이블에 없는 컬럼 값5) DISTINCT 일단 예시 테이블을 생성하고 데이터를 넣어주도록 하자.CREATE TABLE EMPLOYEE(     사원번호 VARCHAR(6) PRIMARY KEY,      이름 VARCHAR(25) NOT NULL,      연락처 VARCHAR(11) NOT NULL,      부서 VARCHAR(25) NOT NULL,      고용일 DATE NOT NULL,      성별 CHAR(1) CHECK (성별 IN ('M', 'F')),      생일 DATE,      급여 DECIMAL(10..

MySQL 총 정리2: 데이터 추가ㆍ변경ㆍ삭제

[ 목차 ]1. 테이블에 데이터 추가하기 'INSERT'1) 기본 문법2) 예시📝 CURRENT_TIMESTAMP VS NOW() VS SYSDATE() 2. 데이터 변경하기 'UPDATE'1) 기본 문법2) 예시3. 데이터 삭제 'DELETE'1) 기본 문법2) 예시 1. 테이블에 데이터 추가하기 'INSERT'1) 기본 문법INSERT INTO 테이블명 (열1, 열2, 열3, ...) VALUES (값1, 값2, 값3, ...);• 테이블에 데이터를 넣을 땐, 데이터를 넣을 컬럼명과 그 컬럼에 넣을 값을 입력해주면 된다.• 컬럼의 데이터형에 맞는 데이터를 넣도록 주의하자. 2) 예시   INSERT INTO animal_shelter(공고번호, 시군명, 발견장소, 공고시작일자, 공고종료일자, 품종,..