【SQL】SQL的基础语法

  想要成为一名数据研发工程师,SQL是必会的技能。数仓建模过程中用到Hive,其实也是通过写类SQL的语句,通过底层的引擎将其翻译成MapReduce程序,减少了程序员的开发量。除此之外,Spark、Flink等计算框架也支持使用SQL来实现查询。所以在面试的过程中,SQL是必须要考察的内容。今天先分享SQL的基础语法,而窗口函数是重中之重,后面单独写一篇进行讲解。

1.语法
SELECT 查询列表
FROM 表名或视图列表
WHERE 条件表达式
GROUP BY 字段名 HAVING 条件表达式
ORDER BY 字段 ASC|DESC
LIMIT m,n;

说明:

  • 如果SELECT后面是 *,那么表示查询所有字段
  • SELECT后面的查询列表,可以是表中的字段,常量值,表达式,函数
  • 查询的结果是一个虚拟的表
  • select语句,可以包含5种子句:依次是where、 group by、having、 order by、limit必须照这个顺序。
2.关联查询

作用:从2张或多张表中,取出有关联的数据。

关联查询一共有几种情况:

  • 内连接:INNER JOIN 、CROSS JOIN
  • 外连接:左外连接(LEFT OUTER JOIN)、右外连接(RIGHT OUTER JOIN)、全外连接(FULL OUTER JOIN)
  • 自连接:当 table1 和 table2 本质上是同一张表,只是用取别名的方式虚拟成两张表以代表不同的意义

说明:

  • 连接 n 个表,至少需要 n-1 个连接条件。 例如:连接三个表,至少需要两个连接条件。
  • 当两个关联查询的表如果有字段名字相同,并且要查询中涉及该关联字段,那么需要使用表名前缀加以区分
  • 当如果表名比较长时,可以给表取别名,简化 SQL 语句
    在这里插入图片描述
select <select_list>
from tableA A
inner join tableB B
on A.key=B.key;

在这里插入图片描述

select <select_list>
from tableA A
left join tableB B
on A.key=B.key;

在这里插入图片描述

select <select_list>
from tableA A
right join tableB B
on A.key=B.key;

在这里插入图片描述

select <select_list>
from tableA A
left join tableB B
on A.key=B.key
where B.key is null;

在这里插入图片描述

select <select_list>
from tableA A
right join tableB B
on A.key=B.key
where A.key is null;

在这里插入图片描述

select <select_list>
from tableA A
left join tableB B
on A.key=B.key
union
select <select_list>
from tableA A
right join tableB B
on A.key=B.key;

在这里插入图片描述

select <select_list>
from tableA A
left join tableB B
on A.key=B.key
where B
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值