【问题标题】:Joining db table加入数据库表
【发布时间】:2017-03-13 05:03:14
【问题描述】:

我有 2 个数据库表:

  • 课程

    id|name|teacher_id
    
  • 老师

    id|first_name|last_name|email
    

我想显示来自courses 表的id, name 和来自teachers 表的first_name, last_name

我用full join method:

select name, 
    first_name, 
    last_name 
from courses 
full join teachers on teachers.id = courses.teacher_id;

我收到以下错误:

“on 子句”中的未知列“courses.teachers_id”

【问题讨论】:

  • 试试teacher_id而不是teachers_id

标签: java mysql sql oracle


【解决方案1】:

您在 MySQL 上没有 FULL JOINS,但可以通过以下方式实现:

如果您打算进行 FULL OUTER JOIN

select name, first_name, last_name from courses left join teachers on teachers.id = courses.teacher_id;
union all
select name, first_name, last_name from courses right join teachers on teachers.id = courses.teacher_id;

对于INNER JOIN

select name, first_name, last_name from courses left join teachers on teachers.id = courses.teacher_id;

【讨论】:

    【解决方案2】:

    试试这个:

    select name, first_name, last_name from courses 
    inner  join 
    teachers on teachers.id = courses.teacher_id;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-07-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-01-18
      相关资源
      最近更新 更多