본문 바로가기

MySQL19

[MySQL] MySQL의 JOIN 완전 정복 + FULL OUTER JOIN 대체 방법 ✅ MySQL의 JOIN 완전 정복 + FULL OUTER JOIN 대체 방법까지🧠 1. JOIN이란?두 개 이상의 테이블을 공통된 컬럼을 기준으로 연결해 하나의 결과 집합을 만드는 방식실무에서 매우 흔하게 사용됨: 사용자 + 주문, 제품 + 카테고리, 회원 + 주소 등✅ 2. JOIN 종류 요약JOIN 종류설명MySQL 지원 여부INNER JOIN두 테이블 모두에 존재하는 교집합✅ 지원LEFT OUTER JOIN (LEFT JOIN)왼쪽 테이블은 모두 표시, 오른쪽은 일치하는 것만✅ 지원RIGHT OUTER JOIN (RIGHT JOIN)오른쪽 테이블은 모두 표시, 왼쪽은 일치하는 것만✅ 지원FULL OUTER JOIN양쪽 모두 표시 (합집합)❌ MySQL은 직접 지원 안 함CROSS JOIN모든 조.. 2025. 4. 13.
[MySQL] SubQuery 사용 📌 서브쿼리가 사용될 수 있는 위치위치사용 예시SELECT 절컬럼처럼 사용FROM 절인라인 뷰처럼 사용WHERE 절조건 필터로 사용HAVING 절그룹 결과 필터링IN, EXISTS, =, , > 등 조건 내부값 비교📘 서브쿼리란?SELECT문 내부에 포함된 또 다른 SELECT문단일 값, 다중 값, 테이블처럼 사용 가능복잡한 조건을 처리하거나, 결과 비교, 동적 조건 처리에 유용✅ 1. WHERE 절에서 서브쿼리 사용✅ 1-1. 단일 값 반환 서브쿼리 (=, , >, !=, 등)SELECT name, salaryFROM employeesWHERE salary > ( SELECT AVG(salary) FROM employees);📌 설명:salary > 평균 급여 조건을 위해, AVG 결과값을.. 2025. 4. 13.
[MySQL] GROUP BY / HAVING 관련 SELECT 컬럼 정리 + 인라인 뷰 (inline view) 활용법 ✅ GROUP BY / HAVING 관련 SELECT 컬럼 정리 + 데이터 출력 활용법📘 1. GROUP BY의 기본 개념 복습SELECT 컬럼, 집계함수FROM 테이블GROUP BY 컬럼;GROUP BY는 특정 컬럼 값을 기준으로 행들을 그룹화그룹별로 집계함수(Aggregate Function)를 함께 사용보통 GROUP BY에 사용된 컬럼을 SELECT에 포함시킵니다.집계 함수만 사용하면 어떤 기준으로 집계된 것인지 알기 어렵기 때문에, GROUP BY 컬럼을 함께 조회하여 무엇에 대한 집계인지 더 명확하게 보여줄 수 있습니다.✅ 2. SELECT 절에 올 수 있는 컬럼 종류 (GROUP BY 사용 시)SELECT에 올 수 있는 컬럼 종류조건예시① GROUP BY에 명시된 컬럼가능SELECT dep.. 2025. 4. 13.
[MySQL] MySQL의 JOIN, 기본키(PK) ✅ MySQL의 JOIN 완전 정복 + FULL OUTER JOIN 대체 방법까지🧠 1. JOIN이란?두 개 이상의 테이블을 공통된 컬럼을 기준으로 연결해 하나의 결과 집합을 만드는 방식실무에서 매우 흔하게 사용됨: 사용자 + 주문, 제품 + 카테고리, 회원 + 주소 등✅ 2. JOIN 종류 요약JOIN 종류설명MySQL 지원 여부INNER JOIN두 테이블 모두에 존재하는 교집합✅ 지원LEFT OUTER JOIN (LEFT JOIN)왼쪽 테이블은 모두 표시, 오른쪽은 일치하는 것만✅ 지원RIGHT OUTER JOIN (RIGHT JOIN)오른쪽 테이블은 모두 표시, 왼쪽은 일치하는 것만✅ 지원FULL OUTER JOIN양쪽 모두 표시 (합집합)❌ MySQL은 직접 지원 안 함CROSS JOIN모든 조.. 2025. 4. 8.
[MySQL] MySQL의 `SELECT` 문에 나올 수 있는 요소들 ✅ 1. SELECT 문 기본 구조SELECT [컬럼 | 표현식 | 함수 | 별칭] FROM [테이블] [WHERE 조건] [GROUP BY 컬럼] [HAVING 조건] [ORDER BY 컬럼 [ASC|DESC]] [LIMIT 개수 OFFSET 시작위치];✅ 2. SELECT 문에서 사용 가능한 요소들각 요소를 하나씩 정리하겠습니다.📌 2.1 컬럼 조회SELECT name, age FROM users;특정 컬럼 조회.* 사용 가능: SELECT * FROM users; (모든 컬럼 조회)📌 2.2 별칭(alias) 사용 (AS)SELECT name AS 이름, age AS 나이 FROM users;컬럼명에 별칭을 부여해 결과에서 컬럼명을 변경.AS는 생략 가능: SELECT name 이름 .. 2025. 4. 4.
[MySQL] SELECT 절의 처리 순서 SELECT 절의 처리 순서MySQL에서 SELECT 쿼리는 우리가 작성한 순서대로 실행되지 않고, 내부적으로는 다음과 같은 순서로 처리됩니다.✅ SELECT 절의 처리 순서 (논리적 처리 순서, Logical Query Processing Order)처리 순서절설명1FROM테이블/뷰를 로딩2ON조인 조건을 적용 (JOIN 사용 시)3JOIN실제 조인 수행4WHERE로우(행) 필터링 – 그룹 이전5GROUP BY지정된 컬럼 기준으로 그룹핑6WITH CUBE / ROLLUP집계 연산 보조 옵션 (선택 사항)7HAVING그룹핑 결과 필터링8SELECT반환할 컬럼 및 표현식 선택9DISTINCT중복 제거10ORDER BY결과 정렬11LIMIT결과 개수 제한 (OFFSET 포함 가능)1. 🔍 SELECT 절의.. 2025. 4. 1.