select e.first_name,e.department_id from hr.employees e 把员工名字和部门id查询出来了 其中e是表别名 但是部门名称在hr.employees表里没有 要知道部门名称必须查询hr.departments 这张表 select d.department_id,d.department_name from hr.departments d 把部门id和部门名称查询出来了 但是员工名字和部门名称在不同的表的,为了一次性把两个数据都查询出来,需要对两张表进行关联 select e.first_name,d.department_name from hr.employees e left join hr.departments d on e.department_id = d.department_id left join 是进行表关联 on 指定关联字段 --只查询员工表
select e.first_name,e.department_id from hr.employees e
--只查询部门表
select d.department_id,d.department_name from hr.departments d
--关联查询
select e.first_name,d.department_name from hr.employees e
left join hr.departments d
on e.department_id = d.department_id
--只查询员工表 select e.first_name,e.department_id from hr.employees e --只查询部门表 select d.department_id,d.department_name from hr.departments d --关联查询 select e.first_name,d.department_name from hr.employees e left join hr.departments d on e.department_id = d.department_id
HOW2J公众号,关注后实时获知最新的教程和优惠活动,谢谢。
问答区域
2019-11-07
为什么left join hr.departments d 中的hr.department要加s,不加一直出错
回答已经提交成功,正在审核。 请于 我的回答 处查看回答记录,谢谢
2018-07-14
为什么前面都要加个e 别名呢
2 个答案
早点睡别熬夜 跳转到问题位置 答案时间:2021-09-01 当多个表有相同字段,为了区分就必须用表名+点+字段名,当表名特别长就不方便,常用一个字母代替表名(别名自己定),pl/sql直接查询一张表就会出现t作为表名,可以试试
suye 跳转到问题位置 答案时间:2018-07-18 习惯问题,表多的时候用别名会很方便,你可以不用别名
回答已经提交成功,正在审核。 请于 我的回答 处查看回答记录,谢谢
2017-11-13
on e.department_id = d.department_id
提问之前请登陆
提问已经提交成功,正在审核。 请于 我的提问 处查看提问记录,谢谢
|