SELECT TOP 1 *
FROM Employee
WHERE EmployeeType = 'P'
ORDER BY Salary ASC
В MySQL вы можете использовать LIMIT 1
.В Oracle вы можете использовать внутренний запрос в сочетании с WITH rownum = 1
.
. Он всегда будет возвращать одну строку, даже если у нескольких сотрудников есть минимальная зарплата.Вы можете добавить дополнительные столбцы порядка, если хотите указать, какие из этих строк возвращать.
Если вместо этого вы хотите вернуть все такие строки, запрос OP будет наиболее оптимальным:
SELECT *
FROM Employee
WHERE Salary = (
SELECT MIN(Salary)
FROM Empoyee
WHERE EmployeeType = 'P'
)
AND EmployeeType = 'P'