DataBase/MySql
-
MySQL NTILE 함수 완벽 정리 + 예제DataBase/MySql 2025. 7. 11. 11:56
✅ NTILE 함수란?NTILE(n) 함수는 **전체 데이터를 n개의 그룹(=분위)**으로 균등하게 나누는 윈도우 함수입니다.예를 들어 NTILE(4)는 데이터를 **상위 25%, 하위 25%**로 나누는 데 사용할 수 있습니다.💡 주로 순위(등급)를 나눌 때 사용하며, OVER(ORDER BY ...)와 함께 사용됩니다. 📌 기본 문법sqlNTILE(n) OVER (ORDER BY column_name [ASC|DESC]) 구성 요소설명n나눌 그룹의 개수 (예: 4이면 사분위)OVER윈도우 함수 시작ORDER BY기준 열 – 이 열을 기준으로 순서를 정하고 분위 분할 🧪 예제예시 테이블 students:idnamescore1Alice952Bob853Carol704David605Emma506Fr..
-
MySql - Join 총집합 파헤치기(INNER, LEFT, RIGHT, FULL OUTER)DataBase/MySql 2025. 5. 20. 10:39
✅ 1. JOIN 기본 개념JOIN 종류설명INNER JOIN양쪽 테이블에서 일치하는 데이터만 가져옴LEFT JOIN왼쪽 테이블은 모두, 오른쪽 테이블은 일치하는 데이터만 가져옴RIGHT JOIN오른쪽 테이블은 모두, 왼쪽 테이블은 일치하는 데이터만 가져옴FULL OUTER JOIN (X)SQLD에서는 직접 사용하지 않음 (MySQL에서 기본 미지원)✅ 2. 샘플 테이블 ▶ Employee 테이블emp_idemp_name 1Kim2Lee3Park4Choi ▶ Department 테이블dept_idemp_iddept_name1011Sales1022HR1035Marketing✅ 3. INNER JOINSELECT e.emp_id, e.emp_name, d.dept_nameFROM Employee eINNER..
-
MySql - GroupBy 및 ONLY_FULL_GROUP_BY 파헤치기DataBase/MySql 2025. 4. 1. 10:26
GROUP BY에 대한 설명GROUP BY는 SQL에서 데이터를 그룹화하여 집계(aggregation) 함수를 적용할 때 사용됩니다. GROUP BY는 데이터를 하나의 기준으로 묶고, 각 그룹에 대해 계산을 수행하도록 합니다. 예를 들어, 부서별 평균 급여나, 제품별 총 판매액 등을 계산할 때 사용됩니다.기본 구문SELECT 컬럼명, 집계함수(컬럼명)FROM 테이블명GROUP BY 그룹화할_컬럼;그룹화할_컬럼: 데이터를 그룹화할 기준이 되는 컬럼입니다.집계함수: COUNT(), SUM(), AVG(), MAX(), MIN()과 같은 함수가 해당 그룹에 대해 계산을 수행합니다.예시: 부서별 평균 급여 구하기SELECT department_id, AVG(salary)FROM employeesGROUP BY ..
-
MySql - OUTER JOIN(LEFT, RIGHT)DataBase/MySql 2024. 10. 1. 23:50
OUTER JOIN(LEFT, RIGHT) OUTER JOIN은 SQL에서 테이블 간 데이터를 결합할 때 공통된 열을 기준으로 데이터를 조회하는 방법 중 하나입니다. OUTER JOIN은 두 가지 종류로 나눌 수 있습니다: LEFT OUTER JOIN과 RIGHT OUTER JOIN. 이들은 기준이 되는 테이블의 모든 행을 반환하되, 반대쪽 테이블에 해당하는 데이터가 없을 경우 NULL을 반환합니다.1. LEFT OUTER JOINLEFT OUTER JOIN은 왼쪽 테이블의 모든 데이터를 기준으로 조인합니다. 오른쪽 테이블에서 일치하는 값이 있으면 그 데이터를 반환하고, 일치하는 값이 없으면 NULL로 표시됩니다.LEFT OUTER JOIN 기본 구조SELECT A.열1, A.열2, B.열1, B.열2F..
-
MySql - INNER JOINDataBase/MySql 2024. 10. 1. 23:42
INNER JOIN INNER JOIN은 두 개 이상의 테이블에서 공통된 열을 기준으로 데이터를 결합하는 SQL 조인 방식입니다. INNER JOIN은 조인 조건을 만족하는 행만 결과로 반환하며, 조건에 맞지 않는 행은 제외됩니다. 주로 두 테이블 간에 공통된 필드를 기준으로 데이터를 조회할 때 사용됩니다.INNER JOIN 기본 구조SELECT A.열1, A.열2, B.열1, B.열2FROM 테이블A AINNER JOIN 테이블B BON A.공통열 = B.공통열;예시두 테이블 employees와 departments가 있다고 가정해보겠습니다.employees 테이블emp_idemp_namedept_id1John1012Jane1023Bob1034Alice102 departments 테이블dept_idde..
-
MySql - Case문 간단정리DataBase/MySql 2024. 8. 5. 22:58
CASE문 개요MySQL의 CASE문은 SQL 표준의 일부로, 조건에 따라 서로 다른 값을 반환할 수 있는 제어 흐름 함수입니다. CASE문은 주로 SELECT, UPDATE, DELETE 쿼리에서 사용되며, 복잡한 조건 논리를 단순화할 수 있습니다. CASE문의 기본 문법CASE WHEN 조건1 THEN 결과1 WHEN 조건2 THEN 결과2 ... ELSE 결과N END 각 조건이 참이면 해당 조건에 해당하는 결과가 반환되며, 조건이 모두 거짓이면 ELSE 절의 결과가 반환됩니다. ELSE 절은 선택 사항이며, 생략할 경우 조건이 모두 거짓일 때 NULL을 반환합니다.CASE문의 사용 예시예시 1: 단순 CASE문다음은 학생의 성적에 따라 등급을 매기는 예제입니다.SEL..
-
MySql - GROUP BY, ORDER BY, HAVING 간단 정리DataBase/MySql 2024. 8. 1. 23:21
GROUP BY 함수 - 테이블의 행들을 특정 기준으로 그룹화할 때 사용 기본 적인 사용 방법은 아래와 같다.SELECT column1 , aggregate_function(column2) FROM table_name WHERE condition GROUP BY column1; 실제 테이블 예시SELECT SupplierID , CategoryId , AVG(Price) FROM Products GROUP BY SupplierID, CategoryId 예시 1. employees 테이블에서 department별로 직원 수를 계산합니다. SELECT department, COUNT(*) AS employee_count FROM emplo..
-
MySql - Count, Sum 함수(AVG, MIN, MAX)DataBase/MySql 2024. 8. 1. 22:59
1. Count Count : 행, 데이터 레코드의 갯수를 반환 Table - IDNameAge1A12A23B34C45NULLNULL이와같이 test테이블이 있다고 가정해보자. 1. COUNT 함수를 사용하는 경우 *을 경우 NULL값도 포함 하여 값을 반환한다.SELECT COUNT(*) FROM test; ===> 5 2. COUNT함수를 사용하는경우 특정 컬럼을 입력한다면 NULL값을 제외한 값을 반환한다.SELECT COUNT(Name) FROM test; ===> 4 3. COUNT함수를 사용하는 경우 DISTINCT를 사용한다면 중복값을 제외 한 값들을 반환한다.SELCT COUNT(DISTINCT Name) FROM test; ===> 3 (A,B,C) 2. SUM T..