使用INNER JOIN连接方式查询所有已婚职工的信息,结果包括部门名称、姓名、职级名称、基本工资、职级工资和职级绩效。

使用INNER JOIN连接方式查询所有已婚职工的信息,结果包括部门名称、姓名、职级名称、基本工资、职级工资和职级绩效。

img

img


多个表就不会连了

我自己写了一下,你试试可不可以

SELECT
    t2.department,
    t1.name,
    t3.rank_title,
    t3.salary,
    t3.performance_pay
FROM
    tbl_employees t1
    INNER JOIN tbl_departments t2 ON t1.department_id = t2.department_id
    INNER JOIN tbl_rank_salary t3 ON t1.rank_id = t3.rank_id

select d.department,e.name,r.rank_title,e.base_salary,r.salary,r.performance_pay
from tbl_employee e
inner join tbl_department d on e.department_id=d.department_id
inner join tbl_rank_salary r on r.rank_id=e.rank_id
where e.maritial_status='已婚'

select d.department,e.name,r.rank_title,e.base_salary,r.salary,r.performance_pay
from tbl_employee e
inner join tbl_department d on e.department_id=d.department_id
inner join tbl_rank_salary r on r.rank_id=e.rank_id
where e.maritial_status='已婚'

  • 帮你找了个相似的问题, 你可以看下: https://ask.csdn.net/questions/963467
  • 你也可以参考下这篇文章:充分利用inner join 进行多表联查的优化
  • 除此之外, 这篇博客: 多表逗号隔开联查, inner join , left join 的理解--如何优化慢查询中的 多表逗号连接并用where 条件做连接条件, 等价于 inner join 内连接 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • **
    所以正确的修改后的sql应该是:

            SELECT
                  count(*)
            FROM 
            DZShare.T_Y_SBBHDEVICE_SITE S
            inner join DZShare.T_C_AI_D A  on A.SubstationId=S.station_id
            inner join DZShare.T_C_Item_D I  ON A.ItemCode=I.ItemCode
            inner join DZShare.T_C_HISDATA_1H H ON H.Pid=A.Pid
    

    这条语句想对于前面第一条, 变化是数据量很大的表H被放到了后面, 数据量小的表S被放到了前面。
    这样满足了小表撬大表的条件, 查询速度也变快了。

  • 以下回答由chatgpt基于相关博客总结生成:

    针对该问题,可以使用以下SQL语句进行INNER JOIN连接,查询所有已婚职工的信息,并包括部门名称、姓名、职级名称、基本工资、职级工资和职级绩效:

    SELECT dept.dept_name, emp.emp_name, emp.job_rank, emp.basic_salary, emp.job_salary, emp.job_performance
    FROM emp
    INNER JOIN dept ON emp.dept_id = dept.dept_id
    WHERE emp.married = '已婚';
    

    其中,emp为员工信息表,包括姓名、部门id、婚姻状态、职级名称、基本工资、职级工资和职级绩效等字段;dept为部门信息表,包括部门名称和部门id字段。

    通过INNER JOIN连接,将员工信息表和部门信息表进行连接,连接条件为员工信息表中的部门id字段和部门信息表中的部门id字段相等。同时,筛选出所有已婚员工的信息,筛选条件为员工信息表中的婚姻状态为“已婚”。

    最终查询结果包括部门名称、姓名、职级名称、基本工资、职级工资和职级绩效等信息。