SQL语句中的join语句 全面且详细

文章中关于JOIN语句操作目录:

一、右外连接(RIGHT OUTER JOIN)

​​​​​​​二、内连接(INNER JOIN)

​​​​​​​三、左外连接(LEFT OUTER JOIN)

​​​​​​​四、多表连接

​​​​​​​五、满外连接(FULL OUTER JOIN)


​​​​​​​一、右外连接(RIGHT OUTER JOIN)

右外连接:JOIN操作符右边表中符合WHERE子句的所有记录将会被返回。

select * from teacher t right join course c on t.t_id = c.t_id;

​​​​​​​二、内连接(INNER JOIN)

内连接:只有进行连接的两个表中都存在与连接条件相匹配的数据才会被保留下来。

select * from teacher t inner join course c on t.t_id = c.t_id;

​​​​​​​三、左外连接(LEFT OUTER JOIN)

左外连接:JOIN操作符左边表中符合WHERE子句的所有记录将会被返回。

查询老师对应的课程

select * from teacher t left join course c on t.t_id = c.t_id;

​​​​​​​四、多表连接

注意:连接 n个表,至少需要n-1个连接条件。例如:连接三个表,至少需要两个连接条件。

多表连接查询,查询老师对应的课程,以及对应的分数,对应的学生

select *

from teacher t

left join course c on t.t_id = c.t_id

left join score s on s.c_id = c.c_id

left join student stu on s.s_id = stu.s_id;

​​​​​​​五、满外连接(FULL OUTER JOIN)

满外连接:将会返回所有表中符合WHERE语句条件的所有记录。如果任一表的指定字段没有符合条件的值的话,那么就使用NULL值替代。

SELECT * FROM teacher t FULL JOIN course c ON t.t_id = c.t_id ;

大多数情况下,Hive会对每对JOIN连接对象启动一个MapReduce任务。本例中会首先启动一个MapReduce job对表teacher和表course进行连接操作,然后会再启动一个MapReduce job将第一个MapReduce job的输出和表score;进行连接操作。

  • 9
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

nuhao_

谢谢你打赏

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值