获取特定员工最新合同记录的SQL语句解析
这段SQL语句的用途是从hrbase_mark_contract表中获取一个特定员工的最新合同记录。
首先,内部查询SELECT * FROM hrbase_mark_contract WHERE work_id = 'xxx' ORDER BY id ASC从hrbase_mark_contract表中选择出指定员工(工号为'xxx')的所有合同记录,并按照id升序排序。这个子查询被命名为a。
然后,外部查询从子查询a中选择出一个记录,该记录满足以下条件:
- 子查询
SELECT COUNT(*) FROM hrbase_mark_contract WHERE work_id = a.work_id AND company_code = 'xxx' AND id >= a.id返回的结果等于子查询SELECT COUNT(*) FROM hrbase_mark_contract WHERE work_id = a.work_id AND id >= a.id返回的结果。换句话说,这个记录的公司代码与'xxx'相同的合同记录的数量等于所有与该员工工号相关的合同记录的数量。
最后,结果按照id降序排序,并只返回第一条记录,即最新的合同记录。
总之,这段SQL语句的目的是找出指定员工的最新合同记录。
原文地址: https://www.cveoy.top/t/topic/B9b 著作权归作者所有。请勿转载和采集!