📝 大数据开发核心SQL单词本
一、基础操作
- CRUD:SELECT(查询)、INSERT(插入)、UPDATE(更新)、DELETE(删除)
- 聚合函数:SUM(求和)、AVG(平均)、MAX/MIN(最值)、COUNT(计数)
- 分组:GROUP BY(分组)、HAVING(分组后过滤)
二、窗口函数
- 核心:OVER(开窗)、PARTITION BY(分区)、ORDER BY(排序)
- 排名:ROW_NUMBER(行号)、RANK(跳号排名)、DENSE_RANK(不跳号)
- 取值:LAG(上一行)、LEAD(下一行)、FIRST_VALUE(首值)
三、表连接
- JOIN类型:INNER(内连接)、LEFT/RIGHT(左右外连接)、FULL(全连接)
- 特殊:SELF JOIN(自关联)、CROSS JOIN(笛卡尔积)
四、函数与类型
- 转换:TO_CHAR(转字符串)、TO_DATE(转日期)、NVL(空值替换)
- 数据类型:NUMBER(数值)、VARCHAR2(变长字符串)、DATE(日期)
五、易混淆对比
- WHERE(行过滤) vs HAVING(组过滤)
- GROUP BY(压缩行) vs PARTITION BY(保留行)
📚 大数据开发入门 - 核心英文单词本
专为 Web 前端转大数据开发的学习者整理,基于以上 SQL/窗口函数问答内容
一、聚合函数篇
| 单词 | 缩写/全称 | 中文释义 | 记忆技巧 |
|---|---|---|---|
| SUM | SUM | 求和 | 就是 Sum(总和) |
| AVG | Average | 平均值 | 记 Average |
| MAX | Maximum | 最大值 | Maximum = 最大 |
| MIN | Minimum | 最小值 | Minimum = 最小 |
| COUNT | Count | 计数 | 数数 |
| GROUP BY | - | 分组 | 按某字段"分组" |
| HAVING | - | 分组后过滤 | 相当于 GROUP BY 的 WHERE |
二、窗口函数篇(核心)
2.1 基础关键词
| 单词 | 中文释义 | 记忆技巧 |
|---|---|---|
| OVER | 在...之上 | 窗口函数的核心关键字 |
| PARTITION | 分区、分割 | Party(派对)+ tion → 把数据分成"派对小组" |
| PARTITION BY | 按...分区 | 相当于 GROUP BY,但不压缩行 |
| ORDER BY | 按...排序 | 前端也常用,排序 |
2.2 排名函数
| 单词 | 中文释义 | 记忆技巧 |
|---|---|---|
| ROW_NUMBER | 行号 | Row(行)+ Number(编号)= 按顺序编号 |
| RANK | 排名 | 排行榜的 Rank |
| DENSE | 密集的 | Dense(稠密)+ Rank = 排名不间断 |
| DENSE_RANK | 密集排名 | 1,1,2,3 不跳号 |
| DESC | 降序 | Descending = 下降 ↓ |
| ASC | 升序 | Ascending = 上升 ↑ |
2.3 取值函数
| 单词 | 中文释义 | 记忆技巧 |
|---|---|---|
| LAG | 滞后、上一行 | Web 性能里的 LAG(延迟)同样意思 |
| LEAD | 领先、下一行 | 与 LAG 相反,Leader 领导(在前面) |
| FIRST_VALUE | 第一个值 | First(第一)+ Value(值) |
2.4 分片函数
| 单词 | 中文释义 | 记忆技巧 |
|---|---|---|
| NTILE | N 等分 | N + Tile(瓦片)= 切成 N 片 |
| TILE | 瓦片 | 一块一块的瓷砖 |
三、关键词速查表
按功能分类
| 功能 | 关键字 | 中文 |
|---|---|---|
| 聚合 | SUM | 求和 |
| AVG | 平均 | |
| MAX | 最大 | |
| MIN | 最小 | |
| COUNT | 计数 | |
| 窗口 | OVER | 开窗 |
| PARTITION | 分区 | |
| ORDER BY | 排序 | |
| 排名 | ROW_NUMBER | 行号 |
| RANK | 排名(跳号) | |
| DENSE_RANK | 密集排名 | |
| 取值 | LAG | 上一行 |
| LEAD | 下一行 | |
| FIRST_VALUE | 首个值 | |
| 分片 | NTILE | 等分切片 |
| 排序 | ASC | 升序(默认) |
| DESC | 降序 | |
| 过滤 | HAVING | 分组后过滤 |
| WHERE | 行级过滤 |
四、场景速查卡
| 想要实现的功能 | 英文关键词 |
|---|---|
| 求总数 | SUM() |
| 求平均数 | AVG() |
| 求最大值 | MAX() |
| 求最小值 | MIN() |
| 数个数 | COUNT() |
| 分组汇总 | GROUP BY |
| 分组后过滤 | HAVING |
| 排行榜 TOP 3 | ROW_NUMBER() ... WHERE rn <= 3 |
| 并列排名(跳号) | RANK() |
| 并列排名(不跳) | DENSE_RANK() |
| 与上个月对比 | LAG() |
| 与下个月对比 | LEAD() |
| 每组第一名 | FIRST_VALUE() |
| 分成 3 档 | NTILE(3) |
| 累计求和 | SUM() OVER (ORDER BY ...) |
| 占比计算 | SUM() OVER (PARTITION BY ...) |
五、易混淆单词对比
| 对比组 | 单词 | 区别 |
|---|---|---|
| 排名 | ROW_NUMBER | 1,2,3,4(不重复) |
| RANK | 1,1,3,4(跳号) | |
| DENSE_RANK | 1,1,2,3(不跳) | |
| 取值 | LAG | 取上一行(回头看) |
| LEAD | 取下一行(向前看) | |
| 过滤 | WHERE | 行过滤(分组前) |
| HAVING | 组过滤(分组后,可用聚合) | |
| 分组 | GROUP BY | 压缩行数(聚合专用) |
| PARTITION BY | 保留行数(开窗专用) |
六、前端→大数据 联想记忆法
| 英文 | 前端概念 | 大数据概念 |
|---|---|---|
ORDER BY |
sort() 排序 |
数据排序 |
ROW_NUMBER |
index 索引 |
给每行编号 |
LAG |
事件循环中的"延迟" | 取上一行数据 |
FIRST_VALUE |
array[0] |
取第一个值 |
FILTER |
filter() |
WHERE |
REDUCE |
reduce() |
SUM/AVG 聚合 |
七、发音指南
| 单词 | 音标(近似) | 中文读法 |
|---|---|---|
| OVER | /ˈəʊvə(r)/ | 欧沃 |
| PARTITION | /pɑːˈtɪʃn/ | 帕提申 |
| RANK | /ræŋk/ | 让克 |
| DENSE | /dens/ | 登斯 |
| LAG | /læɡ/ | 莱格 |
| LEAD | /liːd/ | 利德 |
| NTILE | /en taɪl/ | 恩太奥 |
| HAVING | /ˈhævɪŋ/ | 海文 |
八、每日记忆卡(5分钟速记)
text
Day 1: SUM, AVG, MAX, MIN, COUNT
Day 2: GROUP BY, HAVING, WHERE
Day 3: OVER, PARTITION BY, ORDER BY
Day 4: ROW_NUMBER, RANK, DENSE_RANK
Day 5: LAG, LEAD, FIRST_VALUE
Day 6: NTILE, ASC, DESC
Day 7: 总复习 + 写 3 条 SQL
💡 学习建议
前端转大数据:SQL 是第一步,窗口函数是 SQL 进阶的核心。先记住 5 个聚合函数,再掌握 3 种排名函数,最后理解 LAG/LEAD 做同环比。 每天手写 2-3 条 SQL,一周就能熟练!
Oracle SQL函数 + 表关联
一、数值函数相关
| 单词 | 词性 | 中文释义 | 助记/说明 |
|---|---|---|---|
| ABS | 缩写 | 绝对值 | Absolute 的缩写 |
| POWER | 名词/动词 | 幂运算 | 计算 x 的 y 次方 |
| ROUND | 动词 | 四舍五入 | 圆形→归整 |
| FLOOR | 名词/动词 | 向下取整 | 地板→向下 |
| CEIL | 动词 | 向上取整 | Ceiling(天花板)的缩写 |
| TRUNC | 动词 | 截断 | Truncate 的缩写 |
| MOD | 缩写 | 取余数 | Modulo 的缩写 |
| DUAL | 名词 | 虚拟表 | Oracle 系统表,用于测试 |
二、字符串函数相关
| 单词 | 词性 | 中文释义 | 助记/说明 |
|---|---|---|---|
| REPLACE | 动词 | 替换 | Re(再次)+ Place(放置) |
| LENGTH | 名词 | 长度 | 字符串字符个数 |
| SUBSTR | 缩写 | 截取子串 | Substring 的缩写 |
| INSTR | 缩写 | 查找位置 | Instring / Position 的缩写 |
| TRIM | 动词 | 去除空格 | 修剪 |
| CONCAT | 动词 | 拼接 | Concatenate 的缩写 |
| LPAD | 缩写 | 左填充 | Left Pad |
| RPAD | 缩写 | 右填充 | Right Pad |
三、日期函数相关
| 单词 | 词性 | 中文释义 | 助记/说明 |
|---|---|---|---|
| LAST_DAY | 短语 | 当月最后一天 | 每个月的最后一天 |
| ADD_MONTHS | 短语 | 增加月份 | Add(加)+ Months(月份) |
| MONTHS_BETWEEN | 短语 | 月份差 | 两个日期相差多少个月 |
| SYSDATE | 缩写 | 系统当前日期 | System Date |
| TO_DATE | 短语 | 转换为日期 | 字符串→日期类型 |
| YYYY | 缩写 | 四位年份 | Year |
| MM | 缩写 | 两位月份 | Month |
| DD | 缩写 | 两位日期 | Day |
| Q | 缩写 | 季度 | Quarter |
四、表连接相关
| 单词 | 词性 | 中文释义 | 助记/说明 |
|---|---|---|---|
| JOIN | 动词/名词 | 连接 | 关联两张表 |
| INNER JOIN | 短语 | 内连接 | 只返回匹配的记录 |
| LEFT JOIN | 短语 | 左连接 | 左表全返回 |
| RIGHT JOIN | 短语 | 右连接 | 右表全返回 |
| FULL JOIN | 短语 | 全连接 | 两表全返回 |
| CROSS JOIN | 短语 | 交叉连接 | 笛卡尔积 |
| ON | 介词 | 指定连接条件 | 跟在 JOIN 后面 |
| NVL | 缩写 | 空值替换 | Null Value 的替代函数 |
| NULL | 名词 | 空值 | 表示缺失或未知的值 |
五、自关联与数据发散
| 单词 | 词性 | 中文释义 | 助记/说明 |
|---|---|---|---|
| SELF JOIN | 短语 | 自关联 | 自己连接自己 |
| ALIAS | 名词 | 别名 | 给表或字段起的临时名字 |
| CARTESIAN | 形容词 | 笛卡尔的 | Cartesian product(笛卡尔积) |
| PRODUCT | 名词 | 乘积 | 数学中的乘法结果 |
| DUPLICATE | 名词/动词 | 重复 | 数据发散产生的重复行 |
六、常用缩写对照表
| 缩写 | 全称 | 中文 |
|---|---|---|
| SQL | Structured Query Language | 结构化查询语言 |
| Oracle | --- | 甲骨文公司/数据库产品 |
| VARCHAR2 | Variable Character 2 | 可变长度字符串类型 |
| NUMBER | --- | 数值类型 |
| DATE | --- | 日期类型 |
| EMP | Employee | 员工表(示例表) |
| DEPT | Department | 部门表(示例表) |
| MGR | Manager | 经理/领导编号 |
七、前端 → 大数据 过渡词汇
| 前端概念 | 对应 SQL/数据库概念 | 说明 |
|---|---|---|
Array.map() |
SELECT + 投影 |
对每条数据进行转换 |
Array.filter() |
WHERE 子句 |
过滤数据 |
Array.reduce() |
SUM()/AVG() 等聚合函数 |
数据汇总计算 |
| 事件驱动 | TRIGGER(触发器) |
数据变化时自动执行 |
| localStorage | 临时表 / CTE | 临时存储中间结果 |
| API 调用 | JOIN 多表查询 |
关联不同数据源 |
| 异步回调 | 子查询 / 嵌套查询 | 依赖顺序执行 |
八、复习建议
1️⃣ 按场景记忆
-
数值计算:ABS、ROUND、FLOOR、CEIL、MOD
-
字符串处理:REPLACE、SUBSTR、INSTR、TRIM、LPAD/RPAD
-
日期处理:SYSDATE、LAST_DAY、ADD_MONTHS、MONTHS_BETWEEN
-
表连接:LEFT/RIGHT/FULL/INNER/CROSS JOIN
2️⃣ 每日打卡计划(5-10分钟)
| 天数 | 学习内容 |
|---|---|
| Day 1 | 数值函数 7 个单词 |
| Day 2 | 字符串函数 8 个单词 |
| Day 3 | 日期函数 8 个单词 |
| Day 4 | 表连接 9 个单词 |
| Day 5 | 自关联 + 缩写 10 个单词 |
| Day 6 | 总复习 + 默写测试 |
3️⃣ 互动练习
-
每个单词写 1 条 SQL 示例
-
制作 闪卡(正面英文,背面中文+示例)
-
用 Excel 或 Notion 做成单词表打卡
大数据开发入门单词本
一、SQL 基础操作(CRUD)
| 单词 | 缩写/全称 | 中文含义 | 例句/场景 |
|---|---|---|---|
SELECT |
- | 查询 | 从表中查询数据 |
INSERT |
- | 插入 | 向表中添加数据 |
UPDATE |
- | 更新 | 修改表中的数据 |
DELETE |
- | 删除 | 删除表中的数据 |
DROP |
- | 删除(表结构) | 删除整张表 |
TRUNCATE |
- | 清空表 | 清空所有数据,保留结构 |
COMMIT |
- | 提交事务 | 确认修改并写入数据库 |
ROLLBACK |
- | 回滚事务 | 撤销未提交的修改 |
二、Oracle 数据类型
| 单词 | 中文含义 | 说明 |
|---|---|---|
NUMBER |
数值类型 | 可存整数/小数,最大38位 |
VARCHAR2 |
可变长字符串 | 最常用,最大4000字节 |
CHAR |
定长字符串 | 固定长度,自动补空格 |
DATE |
日期时间 | 精确到秒 |
TIMESTAMP |
时间戳 | 精确到小数秒 |
CLOB |
大文本对象 | 存储长文本(最大4GB) |
BLOB |
二进制大对象 | 存储图片/文件(最大4GB) |
RAW |
原始二进制 | 存储加密数据等 |
三、Oracle 特有函数/伪列
| 单词 | 中文含义 | 示例 |
|---|---|---|
ROWNUM |
行号(伪列) | WHERE ROWNUM <= 5 |
ROWID |
物理行地址 | SELECT ROWID FROM EMP |
NVL |
空值替换 | NVL(COMM, 0) |
NVL2 |
条件空值替换 | NVL2(COMM, '有', '无') |
SYSDATE |
当前日期时间 | INSERT INTO ... VALUES (SYSDATE) |
TO_DATE |
字符串转日期 | TO_DATE('20260101','YYYYMMDD') |
TO_CHAR |
日期/数字转字符串 | TO_CHAR(HIREDATE, 'YYYY') |
四、表操作与结构维护
| 单词 | 中文含义 | 示例 |
|---|---|---|
ALTER |
修改表结构 | ALTER TABLE ... ADD ... |
MODIFY |
修改列类型 | MODIFY (NAME VARCHAR2(200)) |
RENAME |
重命名 | RENAME TABLE / RENAME COLUMN |
ADD |
添加列 | ADD ADDRESS VARCHAR2(100) |
DROP COLUMN |
删除列 | DROP COLUMN ADDRESS |
五、连接查询(JOIN)
| 单词 | 中文含义 | 说明 |
|---|---|---|
JOIN |
连接 | 连接两张表 |
INNER JOIN |
内连接 | 只返回匹配的行 |
LEFT JOIN |
左连接 | 左表全部返回,右表匹配不上为NULL |
RIGHT JOIN |
右连接 | 右表全部返回 |
FULL JOIN |
全连接 | 两表全部返回 |
ON |
连接条件 | ON A.ID = B.ID |
六、子查询相关
| 单词 | 中文含义 | 示例 |
|---|---|---|
WHERE |
条件筛选 | WHERE SAL > (SELECT ...) |
FROM |
来自(子查询作为表) | FROM (SELECT * FROM ...) |
IN |
在集合中 | WHERE JOB IN (SELECT ...) |
EXISTS |
存在性判断 | WHERE EXISTS (SELECT ...) |
七、其他重要术语
| 单词 | 中文含义 | 说明 |
|---|---|---|
NULL |
空值 | 不是0也不是空格,是"未知" |
COMM |
佣金(字段名) | EMP表中的佣金字段 |
DEPTNO |
部门编号 | 常见字段名 |
HIREDATE |
入职日期 | 常见字段名 |
ENAME |
员工姓名 | 常见字段名 |
SAL |
薪资 | 常见字段名 |
HWM |
高水位线 | 影响查询性能的概念 |
八、快速记忆卡(按首字母分类)
A - E
-
ALTER--- 修改 -
BLOB--- 二进制大对象 -
CHAR--- 定长字符 -
CLOB--- 字符大对象 -
COMMIT--- 提交 -
DATE--- 日期 -
DELETE--- 删除 -
DROP--- 删除结构
F - N
-
FROM--- 来自 -
INNER JOIN--- 内连接 -
INSERT--- 插入 -
LEFT JOIN--- 左连接 -
NUMBER--- 数值 -
NVL--- 空值替换
R - U
-
RENAME--- 重命名 -
ROLLBACK--- 回滚 -
ROWID--- 行地址 -
ROWNUM--- 行号 -
SELECT--- 查询 -
SYSDATE--- 系统日期 -
TIMESTAMP--- 时间戳 -
TO_DATE--- 转日期 -
TRUNCATE--- 清空表 -
UPDATE--- 更新 -
VARCHAR2--- 变长字符串
九、学习建议(前端转大数据)
-
先掌握 20% 高频词 :
SELECT、WHERE、JOIN、INSERT、UPDATE、DELETE、NUMBER、VARCHAR2、DATE -
对比记忆:把 SQL 命令想象成前端概念
-
SELECT≈axios.get()(获取数据) -
WHERE≈filter()(条件过滤) -
JOIN≈ 多表数据合并(类似Promise.all+ 关联逻辑)
-
-
动手练习:每个单词写 1-2 条 SQL 语句
SQL学习
一、SQL基础关键字
| 单词 | 中文释义 | 示例/说明 |
|---|---|---|
| SELECT | 查询/选择 | 从表中获取数据 |
| FROM | 从... | 指定数据来源表 |
| WHERE | 在...条件下 | 筛选条件 |
| ORDER BY | 按...排序 | 结果集排序 |
| ASC | 升序 | Ascending,从小到大 |
| DESC | 降序 | Descending,从大到小 |
| AS | 作为 | 设置别名 |
| DISTINCT | 去重 | 消除重复行 |
二、比较与逻辑运算符
| 单词 | 中文释义 | 示例/说明 |
|---|---|---|
| BETWEEN | 在...之间 | 范围查询 |
| IN | 在...之中 | 集合匹配 |
| LIKE | 像...一样 | 模糊匹配 |
| IS NULL | 为空 | 空值判断 |
| AND | 并且 | 逻辑与 |
| OR | 或者 | 逻辑或 |
| NOT | 非/不 | 逻辑非 |
| ESCAPE | 转义 | 转义通配符 |
三、通配符
| 单词/符号 | 中文释义 | 示例/说明 |
|---|---|---|
| 通配符 | Wildcard | 模糊匹配的特殊符号 |
% |
百分号 | 匹配0个或多个字符 |
_ |
下划线 | 匹配单个字符 |
四、常用函数
| 单词 | 中文释义 | 示例/说明 |
|---|---|---|
| TO_CHAR | 转换为字符串 | 日期→字符串 |
| TO_DATE | 转换为日期 | 字符串→日期 |
| NVL | 空值替换 | 2个参数,NULL替换 |
| NVL2 | 空值三目判断 | 3个参数,非空/空不同结果 |
| TRUNC | 截断 | 去掉时间部分 |
| SYSDATE | 系统日期 | 当前日期时间 |
| ROUND | 四舍五入 | 数值取整 |
| SUBSTR | 截取子串 | Substring |
| LENGTH | 长度 | 字符串长度 |
| UPPER | 转大写 | 字母大写 |
| LOWER | 转小写 | 字母小写 |
五、数据类型
| 单词 | 中文释义 | 示例/说明 |
|---|---|---|
| NUMBER | 数字类型 | 可指定精度和小数位 |
| VARCHAR2 | 可变长度字符串 | Oracle特有 |
| DATE | 日期类型 | 包含年月日时分秒 |
| NULL | 空值 | 表示缺失或未知的值 |
六、日期格式符
| 格式符 | 中文释义 | 示例输出 |
|---|---|---|
| YYYY | 四位年份 | 2026 |
| YY | 两位年份 | 26 |
| MM | 两位月份 | 04 |
| MON | 月份缩写 | 4月 |
| MONTH | 月份全称 | 4月 |
| DD | 两位日期 | 23 |
| DAY | 星期全称 | 星期三 |
| DY | 星期缩写 | 周三 |
| HH24 | 24小时制 | 14 |
| MI | 分钟 | 30 |
| SS | 秒钟 | 45 |
七、排序与空值处理
| 单词 | 中文释义 | 示例/说明 |
|---|---|---|
| NULLS FIRST | 空值在前 | 排序时空值排最前 |
| NULLS LAST | 空值在后 | 排序时空值排最后 |
八、虚拟表与系统相关
| 单词 | 中文释义 | 示例/说明 |
|---|---|---|
| DUAL | 虚拟表 | Oracle独有,用于SELECT常量 |
| ROWNUM | 行号 | Oracle伪列,结果集行号 |
九、索引与性能相关
| 单词 | 中文释义 | 示例/说明 |
|---|---|---|
| INDEX | 索引 | 加速查询的数据结构 |
| 索引失效 | Index Invalid | 函数导致索引无法使用 |
| 全表扫描 | Full Table Scan | 逐行扫描整张表 |
| 隐式转换 | Implicit Conversion | 数据库自动类型转换 |
| 显式转换 | Explicit Conversion | 用户手动类型转换 |
十、常见动词(SQL操作)
| 单词 | 中文释义 | 说明 |
|---|---|---|
| QUERY | 查询 | 从数据库获取数据 |
| FILTER | 筛选 | 按条件过滤数据 |
| SORT | 排序 | 按规则重排数据 |
| CONVERT | 转换 | 类型转换 |
| COMPARE | 比较 | 大小、相等判断 |
| MATCH | 匹配 | 字符串模式匹配 |
单词复习卡(按记忆频率分类)
⭐ 必须掌握的(高频)
| 单词 | 中文 |
|---|---|
| SELECT | 查询 |
| WHERE | 条件 |
| FROM | 从 |
| ORDER BY | 排序 |
| AND/OR/NOT | 与/或/非 |
| LIKE | 模糊匹配 |
| IN | 在...中 |
| BETWEEN | 在...之间 |
| IS NULL | 是空 |
| NULL | 空值 |
⭐⭐ 需要熟悉的(中频)
| 单词 | 中文 |
|---|---|
| DISTINCT | 去重 |
| ASC/DESC | 升序/降序 |
| TO_CHAR | 转字符串 |
| TO_DATE | 转日期 |
| NVL/NVL2 | 空值处理 |
| TRUNC | 截断 |
| SYSDATE | 系统日期 |
| ALIAS | 别名 |
| ESCAPE | 转义 |
⭐⭐⭐ 了解即可(低频/专业)
| 单词 | 中文 |
|---|---|
| DUAL | 虚拟表 |
| ROWNUM | 行号 |
| INDEX | 索引 |
| 全表扫描 | Full Table Scan |
| 隐式/显式转换 | Implicit/Explicit Conversion |
| NULLS FIRST/LAST | 空值优先/置后 |
记忆建议
-
分批记忆:每天背一个分类(约5-10个单词)
-
结合SQL写:每学一个单词,写一条包含该单词的SQL语句
-
中英文对照练习:
-
"查询所有员工" →
SELECT * FROM EMP -
"按薪资降序排序" →
ORDER BY SAL DESC
-
-
制作闪卡:正面写英文,背面写中文和示例
大数据/SQL开发核心英文单词本
📗 一、SQL 基础关键字
| 单词 | 中文释义 | 例句/说明 |
|---|---|---|
SELECT |
查询/选择 | 从表中获取数据 |
FROM |
从... | 指定数据来源的表 |
WHERE |
在哪里/条件 | 用于筛选数据行 |
ORDER BY |
排序依据 | 对结果集进行排序 |
ASC |
升序 (Ascending) | 从小到大,可省略 |
DESC |
降序 (Descending) | 从大到小,不能省略 |
AS |
作为/别名 | 给列或表起临时名称 |
NULL |
空值 | 表示未知或缺失的值 |
NOT |
非/取反 | 否定一个条件 |
AND |
并且 | 多个条件同时成立 |
OR |
或者 | 多个条件满足其一即可 |
📙 二、比较与逻辑运算符
| 单词/符号 | 中文释义 | 说明 |
|---|---|---|
BETWEEN |
在...之间 | 闭区间范围查询 |
IN |
在...里面 | 匹配集合中的任意值 |
LIKE |
像... | 模糊匹配字符串 |
IS |
是 | 通常与 NULL 连用 |
% |
百分号通配符 | 匹配0个或多个字符 |
_ |
下划线通配符 | 匹配单个字符 |
ESCAPE |
转义 | 将通配符转为普通字符 |
📘 三、函数名称
| 单词 | 中文释义 | 作用 |
|---|---|---|
NVL |
空值转换 (Null Value Logic) | Oracle函数,将NULL替换为指定值 |
TO_CHAR |
转换为字符串 | 将日期或数字转为字符串 |
TO_DATE |
转换为日期 | 将字符串转为日期类型 |
SYSDATE |
系统日期 | 返回当前数据库时间 |
💡 注意 :
COALESCE是其他数据库(如MySQL/PostgreSQL)中类似NVL的函数
📕 四、特殊概念与占位符
| 单词 | 中文释义 | 使用场景 |
|---|---|---|
DUAL |
虚拟表/万能表 | Oracle中的系统伪表,用于无表查询 |
| 闭区间 | 包含端点的区间 | BETWEEN M AND N 包含 M 和 N |
| 通配符 | 模糊匹配符号 | % 和 _ |
| 转译/转义 | 将特殊字符变为普通字符 | 使用 ESCAPE 关键字 |
📒 五、执行顺序相关术语
| 术语 | 中文释义 | 说明 |
|---|---|---|
Execution Order |
执行顺序 | SQL各子句的实际执行先后顺序 |
| 别名 | 临时名称 | 只在当前查询中有效 |
| 结果集 | 查询输出的数据集合 | SELECT 执行后生成的临时数据 |
📌 初学者记忆小贴士
| 技巧 | 说明 |
|---|---|
| 分组记忆 | 按功能分组(查询、筛选、排序、转换)更容易记住 |
| 边写边记 | 每学一个单词,立刻在SQL编辑器中敲一遍 |
| 口头复述 | 说出单词的同时说出它的作用,比如"WHERE 用来加条件" |
| 对比记忆 | ASC vs DESC,IS NULL vs IS NOT NULL |
| 错题本 | 把之前报错的单词(比如 NVL)单独记录,标注正确用法 |
以上内容去重排序
大数据开发入门 · 核心英文单词本(去重合并版)
适合前端开发者快速掌握 SQL / 窗口函数 / Oracle 基础
✅ 已去除重复词条,保留最核心、最常用单词
一、SQL 基础操作(CRUD + 查询)
| 单词 | 中文释义 | 类比前端 |
|---|---|---|
| SELECT | 查询数据 | axios.get() |
| FROM | 从哪张表 | 数据源 |
| WHERE | 行级过滤 | filter() |
| DISTINCT | 去重 | Set |
| ORDER BY | 排序 | sort() |
| ASC | 升序(默认) | a - b |
| DESC | 降序 | b - a |
| AS | 起别名 | 变量重命名 |
| INSERT | 插入数据 | push |
| UPDATE | 更新数据 | 修改对象属性 |
| DELETE | 删除数据 | splice |
| TRUNCATE | 清空表(保留结构) | length = 0 |
| DROP | 删除整张表 | 删除数组 |
| COMMIT | 提交事务 | 保存 |
| ROLLBACK | 回滚事务 | 撤销 |
二、比较与逻辑运算符
| 单词/符号 | 中文释义 | 说明 |
|---|---|---|
| BETWEEN | 在...之间 | 闭区间 |
| IN | 在集合中 | 类似 includes |
| LIKE | 模糊匹配 | 通配符 |
| IS NULL | 为空 | === null |
| AND | 并且 | && |
| OR | 或者 | ` |
| NOT | 非 | ! |
| ESCAPE | 转义 | 让 %/_ 变普通字符 |
三、通配符(模糊查询)
| 符号 | 含义 | 示例 |
|---|---|---|
% |
0个或多个字符 | 'A%' |
_ |
1个字符 | '_B' |
四、聚合函数(基础统计)
| 单词 | 中文 | 前端类比 |
|---|---|---|
| SUM | 求和 | reduce |
| AVG | 平均值 | 手动计算 |
| MAX | 最大值 | Math.max |
| MIN | 最小值 | Math.min |
| COUNT | 计数 | length |
| GROUP BY | 分组 | groupBy |
| HAVING | 分组后过滤 | 分组后的 filter |
五、窗口函数(核心进阶)
5.1 基础关键字
| 单词 | 中文 | 说明 |
|---|---|---|
| OVER | 开窗 | 窗口函数入口 |
| PARTITION BY | 按...分区 | 类似 GROUP BY 但不压缩行 |
| ORDER BY | 排序 | 窗口内排序 |
5.2 排名函数
| 单词 | 中文 | 特点 |
|---|---|---|
| ROW_NUMBER | 行号 | 1,2,3,4 不重复 |
| RANK | 排名 | 1,1,3,4 跳号 |
| DENSE_RANK | 密集排名 | 1,1,2,3 不跳 |
5.3 取值函数
| 单词 | 中文 | 说明 |
|---|---|---|
| LAG | 上一行 | 回头看 |
| LEAD | 下一行 | 向前看 |
| FIRST_VALUE | 第一个值 | 类似 array[0] |
5.4 分片函数
| 单词 | 中文 | 示例 |
|---|---|---|
| NTILE | N等分 | NTILE(4) 分成4桶 |
六、表连接(JOIN)
| 单词 | 中文 | 返回结果 |
|---|---|---|
| JOIN / INNER JOIN | 内连接 | 只返回匹配的行 |
| LEFT JOIN | 左连接 | 左表全部,右表匹配不上为 NULL |
| RIGHT JOIN | 右连接 | 右表全部 |
| FULL JOIN | 全连接 | 两表全部 |
| CROSS JOIN | 交叉连接 | 笛卡尔积 |
| ON | 连接条件 | 类似 === |
| SELF JOIN | 自关联 | 自己连接自己 |
| ALIAS | 别名 | 临时表名/字段名 |
七、常用函数(非聚合)
| 单词 | 中文 | 说明 |
|---|---|---|
| NVL | 空值替换(2参) | Oracle:NVL(字段, 默认) |
| NVL2 | 条件空值(3参) | 非空A : 空B |
| TO_CHAR | 转字符串 | 日期/数字 → 字符串 |
| TO_DATE | 转日期 | 字符串 → 日期 |
| SYSDATE | 系统当前时间 | 精确到秒 |
| TRUNC | 截断(去掉时间) | 保留到日 |
| ROUND | 四舍五入 | 数值取整 |
| SUBSTR | 截取子串 | 类似 slice |
| LENGTH | 字符串长度 | length |
| REPLACE | 替换 | replaceAll |
| TRIM | 去空格 | trim() |
| LPAD / RPAD | 左/右填充 | 补位 |
| INSTR | 查找位置 | indexOf |
| ABS | 绝对值 | Math.abs |
| POWER | 幂运算 | Math.pow |
| FLOOR | 向下取整 | Math.floor |
| CEIL | 向上取整 | Math.ceil |
| MOD | 取余数 | % |
八、日期相关
| 单词 | 中文 | 说明 |
|---|---|---|
| LAST_DAY | 当月最后一天 | 用于月度统计 |
| ADD_MONTHS | 增加月份 | 同环比计算 |
| MONTHS_BETWEEN | 月份差 | 两个日期间隔月数 |
日期格式符(Oracle)
| 格式 | 含义 |
|---|---|
| YYYY | 四位年 |
| YY | 两位年 |
| MM | 两位月 |
| MON | 月份缩写 |
| MONTH | 月份全称 |
| DD | 两位日 |
| DAY | 星期全称 |
| DY | 星期缩写 |
| HH24 | 24小时制 |
| MI | 分钟 |
| SS | 秒钟 |
| Q | 季度 |
九、数据类型(Oracle 常用)
| 单词 | 中文 | 说明 |
|---|---|---|
| NUMBER | 数字 | 整数/小数,最长38位 |
| VARCHAR2 | 变长字符串 | 最常用,≤4000字节 |
| CHAR | 定长字符串 | 自动补空格 |
| DATE | 日期时间 | 精确到秒 |
| TIMESTAMP | 时间戳 | 精确到小数秒 |
| CLOB | 大文本 | ≤4GB |
| BLOB | 二进制大对象 | 图片/文件 |
| RAW | 原始二进制 | 加密数据 |
十、性能与特殊概念
| 单词 | 中文 | 说明 |
|---|---|---|
| INDEX | 索引 | 加速查询 |
| 全表扫描 | Full Table Scan | 逐行扫描 |
| 隐式转换 | Implicit Conversion | 数据库自动转类型 |
| 显式转换 | Explicit Conversion | 手动转类型 |
| 索引失效 | Index Invalid | 函数导致索引不可用 |
| ROWNUM | 行号(伪列) | 结果集行号 |
| ROWID | 物理行地址 | 唯一标识一行 |
| DUAL | 虚拟表 | Oracle测试用 |
| HWM | 高水位线 | 空间占用标记 |
| NULLS FIRST / LAST | 空值优先/置后 | 排序控制 |
十一、子查询相关
| 单词 | 说明 |
|---|---|
| WHERE | 条件中用子查询 |
| FROM | 子查询作为临时表 |
| IN | 在子查询结果中 |
| EXISTS | 存在性判断 |
十二、执行顺序速记
| 顺序 | 关键字 | 中文 |
|---|---|---|
| 1 | FROM | 确定表 |
| 2 | WHERE | 行过滤 |
| 3 | GROUP BY | 分组 |
| 4 | HAVING | 组过滤 |
| 5 | SELECT | 投影 |
| 6 | ORDER BY | 排序 |
十三、易混淆对比表
| 对比 | 特点 |
|---|---|
| ROW_NUMBER / RANK / DENSE_RANK | 不重复 / 跳号 / 不跳 |
| LAG / LEAD | 上一行 / 下一行 |
| WHERE / HAVING | 分组前过滤 / 分组后过滤 |
| GROUP BY / PARTITION BY | 压缩行 / 保留行 |
| TRUNCATE / DELETE | 清空(重置) / 可回滚 |
十四、每日记忆卡(7天计划)
| 天数 | 内容 |
|---|---|
| Day 1 | SELECT, FROM, WHERE, ORDER BY, ASC/DESC |
| Day 2 | AND, OR, NOT, BETWEEN, IN, LIKE, IS NULL |
| Day 3 | SUM, AVG, MAX, MIN, COUNT, GROUP BY, HAVING |
| Day 4 | OVER, PARTITION BY, ROW_NUMBER, RANK, DENSE_RANK |
| Day 5 | LAG, LEAD, FIRST_VALUE, NTILE |
| Day 6 | JOIN 系列(INNER/LEFT/RIGHT/FULL) |
| Day 7 | NVL, TO_CHAR, TO_DATE, SYSDATE, TRUNC |
十五、前端→大数据 联想表
| 前端 | SQL/大数据 |
|---|---|
filter() |
WHERE |
sort() |
ORDER BY |
reduce() |
SUM / AVG |
array[0] |
FIRST_VALUE |
indexOf |
INSTR |
slice |
SUBSTR |
map() |
SELECT 投影 |
Promise.all |
JOIN |
💡 学习建议
-
先背 20% 高频词(SELECT、WHERE、JOIN、GROUP BY、HAVING)
-
手写 SQL:每个单词写 1 条语句
-
闪卡复习:Anki / Notion / 纸质卡
-
每周 3 题:练窗口函数 + JOIN