笔记十:SQL查询入门

SQL基础查询语句

(1)简单查询

select *| [distinct] 字段名1,字段名2,... from 表名;


(2)where条件查询

select *|字段名1,字段名2,... from 表名 where 条件;
比较运算符 > < =
逻辑运算符 or / and / not
范围值 in () / between .. and ..
非空 is not null
模糊like


(3)聚合查询

select 函数(...) from 表名 [where 条件];


(4)排序查询

select * from 表名 where 条件 order by 字段名 [asc|desc];


(5)分页查询

select 字段名1,字段名2,... from 表名 limit M, N;
# M: 整数,表示从第几条索引开始
# N: 整数,表示查询多少条数据.


(6)分组查询

select 字段名1,字段名2,... from 表名 group by 分组字段名 [having 分组条件];

多表join

1)交叉连接查询

# 结果是两个表的并集
select 字段名 from A表名, B表名;
or
select 字段名 from A表名 cross join B表名;


2)内连接查询

# 结果是两个表的交集
select 字段名 from A表名 别名 join B表名 别名 on 条件 [where 查询条件];


3)外连接查询

# 左外连接
select 字段名 from A表名 别名 left [outer] join B表名 别名 on 条件;
# 右外连接
select 字段名 from A表名 别名 right [outer] join B表名 别名 on 条件;


4)自连接查询

# 把一个表想象成两个一模一样的表
# 就是表自己连接自己 

Table1 a inner join Table1 b on a.Name = b.Info.

除了SQL中的join连接查询语法外,Hive还新增了两个join查询语法:

(1)全外连接

select *|字段名, 字段名, ... from 左表 full outer join 右表 on 左右表关联条件;
# 全外连接就是:(左表有,右表没有的null补全;右表有,左表没有的null补全)

(2)左半开连接

select 字段名 from A表名 别名 left semi join B表名 别名 on 条件 [where 查询条件];
# 左半开连接(LEFT SEMI JOIN)会返回左边表的记录
# 前提是其记录对于右边表满足 ON 语句中的判定条件
# 可以理解成内连接后只取左表的数据
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值