SQL 查询优化:获取特定公司最新且唯一记录的详细解析
这段 SQL 语句从 hrbase_mark_contract 表中查询数据,并根据一定条件进行筛选。具体的作用如下:
-
首先,在子查询中,从 hrbase_mark_contract 表中根据条件 'work_id = [work_id]' 进行筛选,并按照 'id' 降序排序。这个子查询的结果作为临时表 'a'。
-
然后,在主查询中,从临时表 'a' 中筛选满足条件 'company_code = [company_code]' 的数据。
-
在满足上述条件的数据中,根据以下两个条件进行进一步筛选:
-
a) 'id = (SELECT MIN(id) FROM hrbase_mark_contract WHERE work_id = [work_id] AND id > (SELECT MAX(id) FROM hrbase_mark_contract WHERE company_code <> [company_code] AND work_id = [work_id]))'。 这个条件要求当前记录的 'id' 等于在 hrbase_mark_contract 表中满足 'work_id = [work_id]' 条件且 'id' 大于另一个子查询的结果的最小 'id' 值。
-
b) '(SELECT MAX(id) FROM hrbase_mark_contract WHERE company_code <> [company_code] AND work_id = [work_id]) IS NULL'。 这个条件要求另一个子查询的结果为 NULL,即在 hrbase_mark_contract 表中满足 'company_code <> [company_code]' 和 'work_id = [work_id]' 条件的最大 'id' 值不存在。
-
-
最后,将满足上述条件的数据按照 'LIMIT 1' 进行限制,只返回一条结果。
综上所述,这段 SQL 语句的作用是从 hrbase_mark_contract 表中查询满足一定条件的数据,并按照特定规则进行筛选和限制,最终返回一条结果。
原文地址: http://www.cveoy.top/t/topic/A75 著作权归作者所有。请勿转载和采集!