Hive笔记-5

240619-Hive笔记-5

6.2.2 全表和特定列查询

1) 全表查询
sql 复制代码
hive (default)> select * from emp;

select 查看你要查看的信息

from 你要从哪张表里面查

2) 选择特定列查询
sql 复制代码
hive (default)> select empno, ename from emp;

注意:

(1)SQL 语言大小写不敏感。

(2)SQL 可以写在一行或者多行。

(3)关键字不能被缩写也不能分行。

(4)各子句一般要分行写。

(5)使用缩进提高语句的可读性。

查看 empno 和 ename 列

6.2.3 列别名

重命名一个列

便于计算

紧跟列名,也可以在列名和别名之间加入关键字'AS'

案例实操

查询名称和部门。

sql 复制代码
hive (default)> 

select 

    ename AS name,

    deptno dn

from emp;

as 可以省略

6.2.4 Limit 语句

典型的查询会返回多行数据。limit子句用于限制返回的行数。

sql 复制代码
hive (default)> select * from emp limit 5;

hive (default)> select * from emp limit 2,3; -- 表示从第2行开始,向下抓取3行

返回前五个数据:

6.2.5 Where 语句

使用 where 子句, 将不满足条件的行过滤掉

where 子句紧随from子句

案例实操

  • 1000的所有员工。
sql 复制代码
hive (default)> select * from emp where sal > 1000;

注意:where子句中不能使用字段别名。

6.2.6 关系运算函数

1) 基本语法

如下操作符主要用于where和having语句中。

|---------------------------|
| *操作符* |
| A=B |
| A<=>B |
| A<>B, A!=B |
| A<B |
| A<=B |
| A>B |
| A>=B |
| A not between B and C |
| A is null |
| A is not null |
| in(数值1,数值2) |
| A not like B |
| A rlike B, A regexp B |

查询工资在500~1000的员工:

查找研发岗和销售岗的员工:

sql 复制代码
select empno as emp_id ename emp_name from emp where job in('研发','销售')

job 是列名,不是语法

查找所有姓张.的:

sql 复制代码
select * from emp where ename like "张%"

%表示匹配一个字符

like 模糊匹配

匹配不是姓张的:

6.2.7 逻辑运算函数

找日志(本地模式):

/tmp/用户名/hive.log

命令:

tail -500 /tmp/用户名/hive.log

1) 基本语法 (and/or/not)

|-------------|
| 操作符 |
| and |
| or |
| not |

2) 案例实操
(1) 查询薪水大于1000,部门是30
sql 复制代码
hive (default)> 

select 

    * 

from emp

where sal > 1000 and deptno = 30;
(2) 查询薪水大于1000,或者部门是30
sql 复制代码
hive (default)> 

select 

    * 

from emp

where sal>1000 or deptno=30;
(3) 查询除了20部门和30部门以外的员工信息
sql 复制代码
hive (default)> 

select 

    * 

from emp

where deptno not in(30, 20);
相关推荐
Hello.Reader4 分钟前
tsrs 技术解析用 Rust 移植 TypeScript 7,类型检查还能怎样提速?
开发语言·rust·typescript
GeW18 分钟前
产业新优势基础软件的人才底盘,从Linux与数据库开始
linux·数据库
透明的玻璃杯20 分钟前
VS2015+QT 多线程
开发语言·qt
SelectDB26 分钟前
Doris Arrow Flight SQL 高速读取协议实战:与 Snowflake 客户端取数链路对照
大数据·数据库·数据分析
by2099929 分钟前
Linux GCC/G++ 编译与 Makefile 构建
linux·运维·服务器·经验分享
码匠许师傅40 分钟前
【C++三方组件】mbedTLS:面向嵌入式的轻量 TLS
开发语言·c++
爱签AI电子合同1 小时前
电子合同全维度实测与选型指南
大数据·人工智能
AI办公探索者1 小时前
从SaaS到本地部署:大模型推理成本优化与8888元私有化方案的技术解析
大数据·人工智能
迪菲赫尔曼1 小时前
【基础篇 12】把环境与源码接起来:检查 GPU,再安装服务器上的项目
运维·服务器·开发语言·人工智能·python·yolo·目标检测
做运维的阿瑞1 小时前
云项目可观测性与成本治理:告警、日志、Dashboard 与预算标签
大数据·云原生·云计算·terraform