Hive只支持等值连接,即ON子句中使用等号连接,不支持非等值连接。

Hive内置的数据存储类型,TextFile, SequenceFile, ORC(列式存储)

如果连接语句中有WHERE子句,会先执行JOIN子句,再执行WHERE子句。[吴超1]

假设有以下测试数据

表user数据如下

User_id

name

1

张三

2

李四

3

王五

表job数据如下

Job_id

job

user_id

1

工程师

1

2

美工

2

3

美工

4

建表语句如下

CREATE TABLE IF NOT EXISTS user(id int, name string) ROW FORMATDELIMITED FIELDS TERMINATED BY ‘\t’;

CREATE TABLE IF NOT EXISTS job(id int, job string, user_id int) ROWFORMAT DELIMITED FIELDS TERMINATED BY ‘\t’;

10.1.1.    内连接

内连接指的是把符合两边连接条件的数据查询出来。

执行以下语句

select * from user join job on user.id=job.user_id;

结果如下

10.1.2.    左外连接

左外连接:左边有,右边如果没有数据,那么为空。

执行以下语句

select * from user left outer join job on user.id=job.user_id;

不能使用let join,只能使用left outerjoin。结果如下

10.1.3.    右外连接

执行以下语句

select * from user right outer join job on user.id=job.user_id;

结果如下

10.1.4.    全外连接

执行以下语句

select * from user full outer join job on user.id=job.user_id;

结果如下

10.1.5.    左半连接

执行以下语句,左半连接用来代替in操作或者exists操作的

select * from user left semi join job on user.id=job.user_id;

结果如下

该语句相当于如下语句

select * from user where id in (select user_id from job);

但是,hive不支持in子句。所以只能变通,使用left semi子句。

Hive mysql 内连接_Hive-表连接 | 学步园相关推荐

  1. MySQL中的多表连接

    MySQL中的多表连接 当查询的数据并不是来源一个表时,需要使用多表链接操作完成查询.根据不同表中的数据之间的关系查询相关联的数据. 一.语法结构 使用一个表在多个表中查询数据: Where子句中写连 ...

  2. 【MySQL进阶】多表连接的原理

    [MySQL进阶]多表连接的原理 文章目录 [MySQL进阶]多表连接的原理 前言 一:连接简介 1:连接的本质 2:连接过程简介 二:连接的原理 1:嵌套循环连接(Nested-Loop Join) ...

  3. mysql中两个表连接_SQL语句中两个表的连接

    展开全部 一.外连接 1.左连接  left join 或 left outer join SQL语句:select * from student left join score on student ...

  4. mysql超长sql查询_超长SQL怎么查询?MySQL列长度限制有哪些 | 学步园

    MySQL字符串的限制长度看似重要性不要,其实和整个MySQL数据库的安全性是息息相关的,很值得我们去深入研究分析.SQL注入攻击一直都在被广泛的讨论,然而人们却忽略了今天我将要介绍的这两个安全隐患, ...

  5. mysql表连接_mysql表连接

    在数据库中tableA连接tableB如下: tableA: a1 a2 1 1 2 2 3 2 4 3 tableB: b1     b2 2 1 2 2 3 3 3 4 6 5 笛卡尔积: sel ...

  6. hive mysql hdfs关系_Hive中的数据库、表、数据与HDFS的对应关系

    1.hive数据库 我们在hive终端,查看数据库信息,可以看出hive有一个默认的数据库default,而且我们还知道hive数据库对应的是hdfs上面的一个目录,那么默认的数据库default到底 ...

  7. hive mysql 不兼容_Hive+mySql遇到的问题和解决办法

    问题1: Exception in thread "main" java.lang.RuntimeException: org.apache.hadoop.ipc.RemoteEx ...

  8. hive mysql远程模式_Hive远程模式启动

    1.配置远程服务器MYSQL,并保证远程可以访问 2.$HIVE_HOME/conf/hive-site.xml 关键配置如下 hive.metastore.local false controls ...

  9. mysql语句创建临时表并存入数据_mysql创建临时表,将查询结果插入已有表中 | 学步园...

    今天遇到一个很棘手的问题,想临时存起来一部分数据,然后再读取.我记得学数据库理论课老师说可以创建临时表,不知道mysql有没有这样的功能呢?临时表在内存之中,读取速度应该比视图快一些.然后还需要将查询 ...

最新文章

  1. 牛逼哄哄的布隆过滤器,到底有什么用?
  2. golang import 导入包语法介绍 点 别名 下划线
  3. if you miss it, you can hope for future
  4. centos根分区扩容方法linux公社,Centos5给/根分区扩容
  5. oracle conneciton properties,在WAS Liberty连接池中,我可以验证借用连接吗?
  6. 不可能解开的谜题   (程序员修炼之道,评注者序)
  7. TCPClient例子(3)基于委托和事件的TcpHelper程序
  8. ESP32学习笔记(46)——MQTT客户端
  9. c+html+sdk,用C ++开发小码(Codelet)
  10. Koo叔说Shader-- 熟悉渲染管线
  11. 微信摇一摇插件ios_iOS开发——全局响应MotionEvent(微信摇一摇)
  12. 微软官方建议的28条代码优化方案
  13. 国内外云服务现状及发展探讨
  14. 超低功耗离线智能语音识别芯片AT6811
  15. Hello Playwright:(8)等待页面加载
  16. 纸质合同扫描存档和电子合同签字盖章的区别
  17. vue框架 做后台管理系统的总结(WZ)
  18. np.meshgrid, ravel(), np.c_, plt.contourf()函数的用法,以及决策边界的画法。
  19. 用样本推断整体,中心极限定理及其一些前提条件
  20. POI问题总结,关于数字级联及多级级联(三级以上)

热门文章

  1. linux 添加最大串口数量方法
  2. 深度学习训练中关于数据处理方式--原始样本采集以及数据增广
  3. 云架构的基础转变会带来哪些变化?
  4. 从运维的角度理解Iaas、Paas、Saas云计算
  5. 形似棺材的“抗震救生床”,你会要吗?
  6. [TPYBoard - Micropython之会python就能做硬件 7] 学习使用蓝牙模块及舵机
  7. 发送json给服务器
  8. Apple 远程推送APNS 服务
  9. 稳定多维table排序
  10. OSPF从Down到Full的七个状态