在 MyBatis 中查询入职两年到三年之间员工的最高薪资和最低薪资的员工信息,可以使用以下 SQL 语句:

<select id="getEmployeeSalaryInfo" resultType="Employee">
    SELECT * FROM employee
    WHERE join_date >= DATE_SUB(CURDATE(), INTERVAL 3 YEAR)
    AND join_date <= DATE_SUB(CURDATE(), INTERVAL 2 YEAR)
    AND salary = (
        SELECT MAX(salary) FROM employee
        WHERE join_date >= DATE_SUB(CURDATE(), INTERVAL 3 YEAR)
        AND join_date <= DATE_SUB(CURDATE(), INTERVAL 2 YEAR)
    )
    OR salary = (
        SELECT MIN(salary) FROM employee
        WHERE join_date >= DATE_SUB(CURDATE(), INTERVAL 3 YEAR)
        AND join_date <= DATE_SUB(CURDATE(), INTERVAL 2 YEAR)
    )
</select>

这个 SQL 语句使用了两个子查询,分别查询了入职两年到三年之间的员工的最高薪资和最低薪资。最外层的 SELECT 语句用于查询符合条件的员工信息。其中,resultType="Employee" 表示查询结果映射到 Employee 对象。

注意:上述 SQL 语句使用了 MySQL 的日期函数,如果你使用的是其他数据库,可能需要做适当的修改。


原文地址: https://www.cveoy.top/t/topic/pZ5T 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录