यदि आप प्रत्येक विभाग में "सबसे सस्ता" कर्मचारी प्राप्त करना चाहते हैं तो आपके पास मेरे सिर के ऊपर से दो विकल्प होंगे:
SELECT
E.* -- Don't actually use *, list out all of your columns
FROM
Employees E
INNER JOIN
(
SELECT
department,
MIN(salary) AS min_salary
FROM
Employees
GROUP BY
department
) AS SQ ON
SQ.department = E.department AND
SQ.min_salary = E.salary
या आप उपयोग कर सकते हैं:
SELECT
E.*
FROM
Employees E1
LEFT OUTER JOIN Employees E2 ON
E2.department = E1.department AND
E2.salary < E1.salary
WHERE
E2.employee_id IS NULL -- You can use any NOT NULL column here
दूसरा कथन प्रभावी ढंग से यह कहकर काम करता है, मुझे सभी कर्मचारी दिखाओ जहाँ आपको कम वेतन के साथ उसी विभाग में कोई अन्य कर्मचारी नहीं मिल सकता है।
दोनों ही मामलों में, यदि दो या दो से अधिक कर्मचारियों के पास समान वेतन है जो न्यूनतम है तो आप उन दोनों (सभी) को प्राप्त करेंगे।