Write a solution to find the nth highest salary
from the Employee
table. If there is no nth highest salary, return null
.
직원 테이블에서 n번째로 높은 연봉을 구하는 솔루션을 작성합니다. n번째로 높은 연봉이 없으면 null을 반환합니다.
CREATE FUNCTION getNthHighestSalary(N INT) RETURNS INT
BEGIN
DECLARE m INT;
set m = n-1;
RETURN (
# Write your MySQL query statement below.
select distinct salary
from Employee
order by salary desc
limit 1
offset m
);
END
CREATE FUNCTION
CREATE FUNCTION
문은 함수 이름, 매개변수, 함수 반환 타입, 함수 본문으로 구성되어 있다.
위의 답안으로 각 명령어들의 뜻을 정리해보자
CREATE FUNCTION __ (N INT)
: 함수이름 정의 및 받아오는 매개변수 (int 타입의 n)RETURNS INT
: 반환되는 변수도 intBEGIN ... END
: 함수는 BEGIN과 EN로 본문을 묶어놓을 수 있다.DECLARE M INT
: 변수를 선언SET m = n-1
: 변수에 값을 지정, 본문 안에n-1
과 같은 내용을 쓸 수 없다....
6.RETURN ()
: 쿼리문 쓰기
🔗 https://www.ibm.com/docs/en/db2/11.5?topic=plsql-create-function-statement
어디서 부터 가져올지
SELECT * FROM 테이블명 a LIMIT 3 OFFSET 5; -- 5행 부터 8행까지 출력 -- == limit 5, 8 SELECT * FROM a ORDERS LIMIT 5, 8