【问题标题】:SQL join query with a criteria from other tables使用来自其他表的条件的 SQL 连接查询
【发布时间】:2017-03-07 23:31:54
【问题描述】:

您好,我有以下问题。我正在使用我的导师编写的脚本。

问题: 编写查询以显示在多伦多工作的所有员工的姓氏、职位、部门编号和部门名称。

我正在使用以下查询:

select last_name,department_id, department_name, job_title
from employees
join departments using (department_id)
join jobs using (job_id);

我唯一包含城市“多伦多”的表格是locations。 employees 表没有指向 locations 表的任何链接。 有关信息,departments 表包含指向位置和员工的链接。

你能帮我过滤一下在多伦多工作的人吗?

【问题讨论】:

  • 你到底想要什么?
  • 如果任何一个表中都没有位置信息,并且您的 ER 模型中没有位置,那么从多伦多位置获取所有员工是没有意义的。
  • 您使用的是 MySQL 还是 MS SQL Server? (不要标记未涉及的产品。)

标签: mysql sql join


【解决方案1】:

简单的内部连接将受到部门在多伦多的位置的限制。

select  emp.last_name,
        emp.department_id, 
        dep.department_name, 
        job.job_title
    from employees emp
    join departments dep on
        dep.department_id = emp.department_id
    join locations loc on
        loc.location_id = dep.location_id
        and loc.city = 'Toronto'
    join jobs job on
        job.job_id = employees.job_id

【讨论】:

    猜你喜欢
    • 2021-10-03
    • 2017-10-23
    • 2023-01-12
    • 2023-03-03
    • 1970-01-01
    • 2016-01-16
    • 2022-01-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多