강의

멘토링

커뮤니티

Cộng đồng Hỏi & Đáp của Inflearn

Hình ảnh hồ sơ của zealot5206
zealot5206

câu hỏi đã được viết

Nhập môn và Thực hành Tối ưu hóa hiệu suất MySQL dành cho cả người không chuyên (Phần Tuning SQL)

[Thực hành] Tối ưu hóa câu lệnh SQL truy vấn người dùng có mức lương tối đa trong một bộ phận cụ thể

특정 부서에서 최대 연봉을 가진 사용자 조회 sql 쿼리 질문

Viết

·

236

·

Đã chỉnh sửa

4

안녕하세요, 좋은 강의 감사합니다.

 

제공해 주신 쿼리에 대해 질문이 있는데요,

제 생각에는 아래 쿼리가 특정 부서에서 최대 연봉을 가진 사용자를 조회하는게 아닌,

전체 부서에서 최대 연봉이 x 라고 하면,

세 부서에서 그 값이 있으면 출력하는 문인것 같은데,

제가 어느 부분에서 헷갈린 건지 알려주시면 감사하겠습니다.

SELECT *
FROM users
WHERE salary = (SELECT MAX(salary) FROM users)
AND department IN ('Sales', 'Marketing', 'IT');

 

SELECT MAX(salary) FROM users 는 users 테이블의 최대 salary 를 가져오는것이고,

괄호 밖의 department In (...) 은 부서 세개,

그리고 salary = (SELECT MAX ...) 와 함께 저 salary 에 해당 하는 users 가져오는 것이 아닌가요?

 

제가 sql 초보라 양해 해주시면 감사하겠습니다 ... 

 

 

 

 

 

 

 

sqlmysqldbms/rdbmsquery-tuning

Câu trả lời 1

1

jscode님의 프로필 이미지
jscode
Người chia sẻ kiến thức

안녕하세요 광전사님!

 

광전사님이 말씀해주신 내용을 보니 정확하게 이해하신 것 같습니다!
제가 조금 오해의 소지가 있게 설명을 한 것 같군요ㅎㅎ

 

SQL의 의미를 정확히 해석하자면
Sales, Marketing, IT의 부서에서 '전체 부서의 최대 연봉 값과 같은 사용자들'을 출력하는 SQL입니다.

 

이 외로 또 헷갈리시는 부분 있으시면 질문 남겨주세요~~~

Hình ảnh hồ sơ của zealot5206
zealot5206

câu hỏi đã được viết

Đặt câu hỏi