본문으로 바로가기
COMMUNITY모든 이야기

면접 준비하면서 SQL 기초 공부 중인데, 부서별로 가장 높은 급여를 받는 사람의 이름을 출력하고 싶어서 쿼리를 짰습니다.

코드:

CREATE TABLE employees (
    emp_name VARCHAR(50),
    dept_name VARCHAR(50),
    salary INT
);

INSERT INTO employees VALUES ('김철수', '개발팀', 5000), ('이영희', '개발팀', 6000), ('박지민', '인사팀', 4000);

SELECT emp_name, dept_name, MAX(salary)
FROM employees
GROUP BY dept_name;

오류: Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'employees.emp_name' which is not functionally dependent on columns in GROUP BY clause

시도: GROUP BY에 dept_name을 썼는데도 안 돼서 컬럼 순서를 바꿔보기도 했습니다.

질문: 분명히 부서별로 묶었는데 왜 emp_name 컬럼 때문에 에러가 발생하는 건가요?

모든 이야기1454

가벼운 안부부터 깊은 생각까지, 함께 나눠요.

글쓰기
총 1454개의 이야기
댓글