WITH
    t AS (
        SELECT
            a.emp_id,
            b.emp_level,
            TIMESTAMPDIFF(SECOND, a.start_time, a.submit_time) AS duration_time,
            a.score,
            c.tag AS exam_tag
        FROM
            exam_record AS a
            JOIN emp_info AS b ON a.emp_id = b.emp_id
            JOIN examination_info AS c ON a.exam_id = c.exam_id
        WHERE
            b.emp_level < 7 
    )
SELECT
    emp_id,
    emp_level,
    exam_tag
FROM
    t
WHERE
    (
        (
            exam_tag = '企业文化'
            AND score > (
                SELECT
                    AVG(score)
                FROM
                    t
                WHERE
                    exam_tag = '企业文化'
            )
            AND duration_time < (
                SELECT
                    AVG(duration_time)
                FROM
                    t
                WHERE
                    exam_tag = '企业文化'
            )
        )
        OR (
            exam_tag = '技术水平'
            AND score > (
                SELECT
                    AVG(score)
                FROM
                    t
                WHERE
                    exam_tag = '技术水平'
            )
            AND duration_time < (
                SELECT
                    AVG(duration_time)
                FROM
                    t
                WHERE
                    exam_tag = '技术水平'
            )
        )
    )

先对考试信息表进行预处理,与另外两个表进行连接并得到每个人的考试分数,科目,作答时间并筛去emp_level>=7的领导,然后使用临时表t进行操作选出每个科目的优秀员工