전체 글22 [SQL 노트] 데이터의 합집합과 요약: 그룹 함수와 GROUP BY 정리 1. 그룹 함수(Group Function)의 핵심 이해단일행 함수(예: UPPER, ROUND 등)는 각 행마다 하나의 결과값을 내지만, 그룹 함수는 여러 행을 뭉쳐서 단 하나의 결과값만 출력합니다.카디널리티(Cardinality) 불일치 오류 주의!"사원 번호(eno), 사원명(ename)과 함께 전체 급여의 최대값(MAX(sal))을 출력해라." ➡️ 출력 불가능 (에러 발생)사원 번호와 사원명은 여러 개(N개)인데, 급여 최대값은 단 한 개(1개)이기 때문에 행의 개수(카디널리티)가 맞지 않아 같이 출력할 수 없습니다. 2. 자주 쓰는 그룹 함수 5가지그룹 함수는 기본적으로 NULL 값을 없는 존재로 무시하고 계산합니다.MAX(컬럼) : 최댓값MIN(컬럼) : 최솟값AVG(컬럼) : 평균값SUM(.. 2026. 8. 13. 집합 연산자를 이용한 검색 1. 화학과 학생과 교수 검색 (집합 연산자 이용)화학과 학생과 교수의 이름을 검색합니다.SELECT 이름 FROM 학생 WHERE 학과 = '화학과'UNIONSELECT 이름 FROM 교수 WHERE 학과 = '화학과'; 2. 정교수의 명단과 모델링이 업무인 직원의 이름, 입사일 검색정교수와 모델링 업무를 맡고 있는 직원의 이름과 입사일을 검색합니다. SELECT 이름, 부임일 AS 입사일 FROM 교수 WHERE 직급 = '정교수'UNIONSELECT 이름, 입사일 FROM 직원 WHERE 업무 = '모델링';3. 개설되지 않은 과목 검색개설되지 않은 과목을 검색합니다. SELECT 과목명 FROM 과목 WHERE 개설여부 = '미개설'; 4. 모든 학생의 평점 검색 (단, 화학과 학생은 4.5로 환.. 2026. 8. 10. 학습목표 1. 집합 연산자란?SQL에서 두 개 이상의 SELECT 문의 결과를 하나로 합치는 연산자입니다. 종류는 다음 4가지입니다.연산자의미UNION두 결과를 합치고 중복 제거UNION ALL두 결과를 합치고 중복 유지 (제거 안 함)INTERSECT두 결과의 교집합 (공통된 행만)MINUS (Oracle) / EXCEPT (SQL Server)차집합 (첫 번째 결과에서 두 번째 결과를 뺀 것)공통 규칙:각 SELECT 문의 컬럼 개수가 같아야 함대응되는 컬럼의 데이터 타입이 서로 호환되어야 함결과의 컬럼명은 첫 번째 SELECT 문을 기준으로 표시됨2. UNION vs UNION ALL 차이점 Code SELECT 이름 FROM 학생UNIONSELECT 이름 FROM 교수;중복된 이름이 있으면 한 번만 표시 .. 2026. 8. 10. 다중 열 서브쿼리 1. 화학과 학생과 평점이 동일한 학생들을 검색 SELECT *FROM 학생WHERE 평점 IN ( SELECT 평점 FROM 학생 WHERE 학과 = '화학과'); 2. 화학과 교수와 부임일이 같은 직원을 검색 (직원 테이블이 따로 있다면 직원, 없고 교수만 있다면 교수로 대체) SELECT *FROM 직원WHERE 부임일 IN ( SELECT 부임일 FROM 교수 WHERE 학과 = '화학과'); 3. 화학과 학생과 같은 학년에서 평점이 동일한 학생들을 검색화학과 학생과 "학년"이 같고, 그 학년 내에서 "평점"도 같은 학생 → 두 컬럼이 함께 일치해야 하므로 다중 열 서브쿼리 사용SELECT *FROM 학생WHERE (학년, 평점) IN ( SELECT 학년, .. 2026. 8. 10. 이전 1 2 3 4 5 6 다음