영업테이블(Sales_Table)의 실적은 Employee_ID별로 Sales_Amonut 컬럼에 기록된다고 가정하자.
이때, 영업실적이 가장 좋은 1등 사원에 대한 정보를 조회하고 싶으면 아래와 같은 구문을 사용할 것이다.
-- Sales_Table에서 영업실적이 가장 좋은 사원의 ID를 하나 가져와 Employee_Table에서 찾는다.
SELECT *
FROM Employee_Table
WHERE Employee_ID = (SELECT TOP 1 Employee_ID
FROM Sales_Table
ORDER BY Sales_Amount DESC)
* 그런데, 이 1등 사원의 Employee_ID를 여기저기에서 계속 사용해야 한다면, DECLARE로 변수를 선언해 값을 넣어두고 사용하면 추가적인 비용을 줄일 수 있을것이다. 이때는 아래와 같이 SELECT 구문에서 바로 변수에 값을 대입할 수 있다.
-- 먼저 변수 @TOP_1_ID를 선언하여 Sales_Table에서 영업실적이 가장 좋은 사원의 ID를 하나 저장한다.
DECLARE @TOP_1_ID VARCHAR(8)
SELECT TOP 1 @TOP_1_ID = Employee_ID
FROM Sales_Table
ORDER BY Sales_Amount DESC
-- @TOP_1_ID 변수를 이용해 Employee_Table에서 사원 정보를 조회한다.
SELECT *
FROM Employee_Table
WHERE Employee_ID = @TOP_1_ID
댓글 없음:
댓글 쓰기