SQL, Employee_Details 테이블에 이름, 나이 및 급여라는 세 개의 열이 있습니다. 나는이 쿼리를 통해이 같은 테이블에서 가장 높은 급여를 선택했습니다.SQL 쿼리 이해에 도움이 필요합니다.
SELECT *
FROM Employee_Details e
WHERE 0 = (
SELECT count(DISTINCT Salary)
FROM Employee_Details
WHERE Salary > e.Salary
)
나는 무엇을 '0'의미에 대해 아무 생각이 없습니다. 아무도 내게 아이디어를주지 못해.
아직 그 논리를 이해할 수 없습니다. 가장 높은 급여를 어떻게 회수합니까? 관련된 논리를 이해하도록 도와주세요. – RAHUL
'Employee_Details'의 각 행에 대해 전체 테이블을 다시 스캔하지만 이번에는 바깥 쪽 행보다 'Salary'가 많은 행만 계산됩니다. 이 계수의 결과가 0이면 바깥 쪽 행이 선택됩니다. 하위 쿼리는 'Employee_Details'에 더 큰 Salary - 정의 상 최대 행을 의미하는 행이 없으면 0을 반환합니다. – MagnatLU