SQL基础教程(第二版)学习笔记

SQL基础教程(第二版)

1 数据库和SQL

1.1 数据库管理系统 DBMS**

  • 层次数据库 HDB

  • 关系数据库 RDB

RDBMS

  • Oracle
  • SQL server
  • DB2
  • PostgreSQL
  • MySQL
  • 面向对象数据库 OODB

  • XML数据库 XMLDB

  • 键值存储系统 KVS

1.2 数据库的结构

客户端 ——SQL语句——> 服务器 RDBMS <————> 数据库(数据保存到硬盘等设备上)
<——请求的数据——

1.3 SQL语句及种类

  • DDL 数据库定义语言

CREATE

DROP :删除表

ALTER :添加或删除列( 按列)

  • DML 数据库操纵语言

SELECT

INSERT :插入记录(按行)

UPDATE :修改数据记录

DELETE :删除记录,表保存

  • DCL 数据库控制语言

COMMIT :确认数据库变更

ROLLBACK :取消变更

GRANT :赋予用户操作权限

REVOKE :取消用户操作权限

1.4 数据类型指定及约束

  • 数字型 INTEGER / NUMERIC(n)

  • 字符型 定长CHAR / VARCHAR可变长

  • 日期型

  • NOT NULL 和 PRIMARY KEY

2 基础查询

2.1 SELECT

中文别名使用双引号括起来;

distinct 去重;

where条件选择;

注释 :单行__ 多行"/" 和"/" 括起来;

2.2 算术运算符和比较运算符

+ - * / // %

所有包含NULL的计算都为NULL

> < = <> >= <=

字符串比较从第一个字符开始

不能对NULL使用比较运算符, 否则为空

2.3 逻辑运算符

NOT AND OR

AND的优先级高于OR

SQL的逻辑运算被称为三值逻辑:真、假、不确定

3 聚合排序

3.1 聚合函数

  • COUNT 单列不计算NULL

  • AVG

  • SUM

  • MAX 日期也可以最大最小值计算

  • MIN

聚合函数会将NULL排除在外,但COUNT除外

3.2 分组 group by

为聚合结果指定条件使用HAVING而不是WHERE, HAVINGgroup by之后

3.3 排序 order by

指定多个排序 order by col_a asc, col_b desc

NULL会汇集在开头或者结尾

3.5 书写和执行顺序

书写顺序

SELECT > FROM > WHERE > GROUP BY > HAVING > ORDER BY

执行顺序

FROM > WHERE > GROUP BY > HAVING > SELECT > ORDER BY

4 事务

数据的更新、插入、删除(MySQL)

START TRANSACTION;
​
DML(INSERT /  DELET  /  UPDATE)
INSERT INTO table_name  VALUES (..., [DEFAULT], ...);
...
​
DELET FROM table_name;
​
UPDATE table_name
SET ...
[WHERE ...];
​
COMMIT/ROLLBACK;

插入默认值用 DEFAULT value来约束

DBMS的事务的四种特性:原子性、统一性、隔离性、持久性。(ACID特性)

5 复杂查询

  • 视图

创建视图 CREATE VIEW

视图包含 ”不能使用ORDER BY“ 和 ”可对其进行有限制的更新“两项限制

删除视图 DROP VIEW

  • 子查询

标量子查询

  • 关联子查询

WHERE关联,结合条件写在子查询中

6 函数、谓词和case表达式

6.1 函数

  • 算数函数
ABS
ROUND(COL, N)
MOD
  • 字符串函数
LENGTH
CONCAT(str1, str2) ||
REPLACE(str, target, value)
SUBSTRING(str FROM pos FOR len)
LOWER/ UPPER
  • 日期函数
EXTRACT(YEAR/MON/DAY/HOUR/MINUTE/SECOND FROM date)
  • 转换函数
CAST(col AS 类型)  # 类型转换
COALESCE(NULL, value)
  • 聚合函数

6.2 谓词

  • LIKE (% _)

  • BETWEEN

  • IN / NOT IN (无法选出NULL数据, IN包含NULL为空)

  • IS NULL / IS NOT NULL

  • EXISTS

6.3 CASE

CASE 
WHEN ... THEN ... 
ELSE ... 
END

7 集合运算

7.1 表加减法

  • UNION

  • UNION ALL

  • EXCEPT

7.2 表联结

  • INNER JOIN

  • LEFT JOIN

  • RIGHT JOIN

  • FULL JOIN

  • CROSS JOIN

8 SQL高级处理——窗口函数

窗口函数

  • rank 排名相同时跳跃排名,如1, 1, 3, 4, 5, 5, 7

  • row_number 按行数顺序排名,如1, 2, 3, 4, 5

  • dense_rank 排名相同时不跳跃排名,如1, 2, 2, 3, 3, 4, 4, 5

窗口函数语法

<窗口函数> OVER ([PARTITION BY col_1] ORDER BY col_2 )


SQL书籍分享

链接: https://pan.baidu.com/s/1BfvkSeBoQXTOyW4zM5No-Q 提取码: vd8g



最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,591评论 6 501
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,448评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,823评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,204评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,228评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,190评论 1 299
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,078评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,923评论 0 274
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,334评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,550评论 2 333
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,727评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,428评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,022评论 3 326
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,672评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,826评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,734评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,619评论 2 354