본문 바로가기

Language/sql5

🗄️CASE문 문법 및 활용법 총정리 (Simple / Searched / SUM() 활용 / ORDER BY절에서의 사용) 1. 단순 CASE 문 (Simple CASE)특정 컬럼이나 표현식의 값이 특정 값과 일치하는지 비교할 때 사용한다CASE 컬럼명 WHEN 값1 THEN 결과1 WHEN 값2 THEN 결과2 ELSE 기본결과END예시: 직급(job)에 따라 한글 명칭으로 변경하여 조회할 때SELECT name, CASE job WHEN 'MANAGER' THEN '관리자' WHEN 'ANALYST' THEN '분석가' ELSE '일반직원' END AS job_koFROM employees;2. 검색형 CASE 문 (Searched CASE)각 WHEN 절에 서로 다른 조건식(비교 연산자, 범위 등)을 자유롭게 지정할 수 있어 훨씬.. 2026. 7. 6.
🗄️연관관계 매핑 전략과 핵심 개념(다대일, 일대다, 연관관계의 주인) 1. 다대일 (@ManyToOne)여러 명의 회원이 하나의 팀에 속한다.특징: 데이터베이스 테이블 구조상 외래 키(FK)는 N(다) 쪽인 회원(MEMBER) 테이블에 존재한다.가장 흔하게 사용되는 연관관계. (기본적인 필수 매핑 방식) 기준 객체가 N쪽. (본인 테이블에 FK가 있음)연관관계의 주인으로, FK를 직접 관리/등록/수정예: 회원과 팀구현 방법: N에 해당하는 테이블(MEMBER)에 1에 해당하는 테이블(TEAM)의 PK를 FK로 추가한다.작동: member.setTeam(team)을 호출하고 저장하면 바로 MEMBER 테이블의 TEAM_ID FK 값이 업데이트된다.장점: 객체의 참조(team)와 테이블의 외래 키(TEAM_ID) 위치가 일치하므로 직관적이고 관리가 매우 쉽다.@Entitypu.. 2026. 7. 2.
🗄️서브쿼리 개념 종류 및 JOIN과의 차이점 완벽 정리 1. 서브쿼리(Subquery)란?서브쿼리는 말 그대로 하나의 SQL 쿼리 안에 또 다른 SQL 쿼리가 포함되어 있는 형태를 말한다. (쿼리 안의 쿼리)메인이 되는 바깥쪽 쿼리를 메인 쿼리(Main Query)라고 하고, 안쪽에 포함된 쿼리를 서브쿼리라고 부름.메인 쿼리가 실행되기 위해 필요한 데이터를 중간에서 계산하거나 필터링해주는 역할을 한다.SQL 문 내의 거의 모든 곳(SELECT, FROM, WHERE 등)에 위치할 수 있으며, 어디에 쓰이느냐/데이터 반환 형태에 따라 분류된다.2. 서브쿼리가 사용되는 위치에 따른 분류① 스칼라 서브쿼리 (Scalar Subquery) — SELECT 절에 사용특징: 반드시 단 하나의 행과 하나의 컬럼(1행 1열, 단일값)만 반환해야 한다.용도: 데이터의 결과 .. 2026. 7. 2.
🗄️주요 JOIN의 종류 완벽 정리(Inner, Left, Cross, Self 등) 1. 조인(JOIN)이란?개념: 둘 이상의 데이터베이스 테이블을 연결하여 데이터를 하나의 '결과 집합'으로 결합하는 연산.역할: 여기저기 분산된 데이터를 조건에 맞춰 다시 합쳐서 볼 수 있도록 함.특징 RDB의 핵심 (정규화와의 관계): 관계형 데이터베이스(RDB)는 중복을 피하고 데이터를 효율적으로 관리하기 위해 테이블을 나누어 저장하는데, 이를 정규화라고 한다. JOIN은 이렇게 나눠서 저장된 데이터를 다시 합쳐서 보기 위해 반드시 필요함.관계(Relationship) 중심: 무작위로 합치는 것이 아니라, 테이블 간에 공유하는 공통 열(예: 회원 ID, 부서 번호 등)을 기준으로 매칭되어 결합한다.2. 대표적인 JOIN의 종류① INNER JOIN (내부 조인)개념: 양쪽 테이블 모두에 공통으로 존재.. 2026. 7. 2.
🗄️SQL 쿼리 작성 순서와 실행 순서 1. SQL 쿼리 작성 순서 (구문 순서)코드를 타이핑할 때 사용하는 표준적인 문법 순서.SELECT : 조회할 컬럼 지정FROM : 조회할 테이블 지정 (+ JOIN)WHERE : 행을 필터링할 조건 지정GROUP BY : 특정 컬럼으로 그룹화HAVING : 그룹화된 결과에 대한 필터링 조건 지정ORDER BY : 결과 정렬 순서 지정LIMIT / OFFSET : 출력할 행의 개수 제한2. SQL 쿼리 실제 실행 순서 (Logical Order)컴퓨터(데이터베이스 엔진)가 데이터를 찾아오기 위해 내부적으로 처리하는 순서는 다음과 같다.엔진이 쿼리를 파싱하고 실행할 때 데이터의 흐름(어디서 데이터를 가져와서, 어떻게 필터링되고 조작되는지, 어떤 모양으로 보여줄지)을 따라가기 때문에, 이 순서를 이해하면 .. 2026. 7. 2.