MYSQL 加入,然后对加入的 table 进行查询

MYSQL joins and then making queries on the joined table

我正在尝试对数据库和后续查询进行连接,在这个数据库中,这是一个来自 MYSQL 的虚拟数据库,你会发现这些 tables

 +----------------------+
    | Tables_in_employees  |
    +----------------------+
    | current_dept_emp     |
    | departments          |
    | dept_emp             |
    | dept_emp_latest_date |
    | dept_manager         |
    | employees            |
    | salaries             |
    | titles               |
    +----------------------

在工资中 table 我有这样的东西

| emp_no | salary | from_date  | to_date    |
+--------+--------+------------+------------+
|  10001 |  60117 | 1986-06-26 | 1987-06-26 |
|  10001 |  62102 | 1987-06-26 | 1988-06-25 |
|  10001 |  66074 | 1988-06-25 | 1989-06-25 |
|  10001 |  66596 | 1989-06-25 | 1990-06-25 |
|  10001 |  66961 | 1990-06-25 | 1991-06-25 |

所以我尝试对薪水求和并按员工编号对结果进行分组,因此每个数字只有一个值,因此该行可用于与员工的连接 table 所以我可以这样做使用已连接 table 的查询,但我无法进行连接,我正在尝试执行以下操作:

SELECT salary, salaries.emp_no FROM salaries INNER JOIN employees ON salaries.emp_no = employees.emp_no -----> This ONE JUST THROWS THE FIREST TWO COLUMNS FROM SALARIES


 SELECT emp_no, SUM(salary) as total_pay FROM salaries GROUP BY emp_no INNER JOIN employees ON employees.emp_no = salaries.emp_no; ------> THIS ONE TELLS ME I HAQVE A SYNTAX ERROR

我可以聊天来解决这个任务吗?谢谢

假设您只想要员工的总工资,您甚至不需要 employees table:

SELECT s.emp_no, SUM(s.salary) as total_pay
FROM salaries s
GROUP BY s.emp_no ;

我希望您在某个特定日期需要它:

SELECT s.emp_no, SUM(s.salary) as total_pay
FROM salaries s
WHERE start_date <= '1990-01-01' and
      end_date > '1990-01-01'
GROUP BY s.emp_no ;