第1课 了解SQL

简单介绍了sql,和dbms,无重点。

第2课 检索数据

重点:select语句,distinct,limit,注释

1. select 语句如果没有明确排序查询结果,那么返回的数据没有特定的顺序。返回数据的顺序可能是数据被添加到表中的顺序,也可能不是。只要返回相同数目的行,就是正常的。

2. 多条 SQL 语句必须用 ; (分号)分隔。

3. SQL不区分大小写

4. SQL语句分行可读性更好

5. 最好不要使用 * 这种通配符 select 表中所有的列

6. distinct 的使用。 distinct 关键字作用于所有的列,不仅仅是跟在其后的那一列。

7. limit n offset m 的使用。从 第 n 行开始的 m 行数据。(n is 0 based)

(mysql, mariaDB, SQLite 可以简化 LIMIT 4 OFFSET 3  --> LIMIT 4, 3)

8. 注释一般用 '--' 或者 '#' (单行注释) 或者 '/*  */' (多行注释)

第3课 排序检索数据

重点:order by

1. order by 应该是 select 语句中最后一条子句; 它也可以通过没有被 select 的列进行排序

2. 如何按照多个列排序。 需要理解的是下面列子中只有在多个行具有相同的 prod_price 值时才对产品按照 prod_name 进行排序。如果 prod_price 列中所有值都是唯一的,则不会按照 prod_name 排序。

select prod_id, prod_price, prod_name
from Products
order by prod_price, prod_name

3. 按照列位置排序,(坦白讲我觉得这个一般不会用到)

select prod_id, prod_price, prod_name
from Products
order by 2, 3;

select 清单中指定的选择列的相对位置排序。 order by 2 表示按照 select 清单中的第二个列 prod_price 进行排序。order by 2, 3 同理 order by prod_price, prod_name。

好处就是不用重新输入列名。缺点(1)列名错用 (2)如果对select清单做了更改,这里容易出错。还有就是如果需要排序的列不在 select 清单中,就肯定不能用。

4. 指定升序降序 asc 和 desc。如果在多个列上进行排序,一定要对每一列指定 desc 或者 asc。

5. 对文本数据进行排序的时候,A 和 a 相同吗?a 是排在 B 之前还是 Z 之后? 这个取决于数据库的设置方式。在 dictionary 排序顺序中, A 和 a 被视为是相同的,这是大多数默认的排序方式。如果需要改需要 DBA 改设置。

第4课 过滤数据

第5课 高级过滤数据

第6课 用通配符进行过滤

第7课 创建计算字段

第8课 使用函数处理数据

第9课 汇总数据

第10课 分组数据

第11课 使用子查询

第12课 联结表

第13课 创建高级联结

第14课 组合查询

第15课 插入数据

第16课 更新和删除数据

第17课 创建和操纵表

第18课 使用视图

第19课 使用存储过程

第20课 管理事务处理

第21课 使用游标

第22课 高级SQL特性

附录

【读书笔记】【数据库】SQL必知必会的更多相关文章

  1. 读书笔记汇总 - SQL必知必会(第4版)

    本系列记录并分享学习SQL的过程,主要内容为SQL的基础概念及练习过程. 书目信息 中文名:<SQL必知必会(第4版)> 英文名:<Sams Teach Yourself SQL i ...

  2. 读书笔记--SQL必知必会18--视图

    读书笔记--SQL必知必会18--视图 18.1 视图 视图是虚拟的表,只包含使用时动态检索数据的查询. 也就是说作为视图,它不包含任何列和数据,包含的是一个查询. 18.1.1 为什么使用视图 重用 ...

  3. 【SQL必知必会笔记(1)】数据库基础、SQL、MySQL8.0.16下数据库、表的创建及数据插入

    文章目录 1.数据库基础 1.1 数据库(database) 1.2 表(table) 1.3 列和数据类型 1.4 行 1.5 主键 2.什么是SQL 3.创建后续练习所需数据库.表(MySQL8. ...

  4. 读书笔记--SQL必知必会--建立练习环境

    书目信息 中文名:<SQL必知必会(第4版)> 英文名:<Sams Teach Yourself SQL in 10 Minutes - Fourth Edition> MyS ...

  5. 读书笔记--SQL必知必会12--联结表

    12.1 联结 联结(join),利用SQL的SELECT在数据查询的执行中联结表. 12.1.1 关系表 关系数据库中,关系表的设计是把信息分解成多个表,一类数据一个表,各表通过某些共同的值互相关联 ...

  6. SQL语法语句总结(《SQL必知必会》读书笔记)

    一.SQL语句语法 ALTER TABLE ALTER TABLE 用来更新已存在表的结构. ALTER TABLE tablename (ADD|DROP column datatype [NULL ...

  7. MySQL必知必会1-20章读书笔记

    MySQL备忘 目录 目录 使用MySQL 检索数据 排序检索数据 过滤数据 数据过滤 用通配符进行过滤 用正则表达式进行搜索 创建计算字段 使用数据处理函数 数值处理函数 汇总数据 分组数据 使用子 ...

  8. 《SQL必知必会》学习笔记二)

    <SQL必知必会>学习笔记(二) 咱们接着上一篇的内容继续.这一篇主要回顾子查询,联合查询,复制表这三类内容. 上一部分基本上都是简单的Select查询,即从单个数据库表中检索数据的单条语 ...

  9. 《mysql必知必会》读书笔记--存储过程的使用

    以前对mysql的认识与应用只是停留在增删改查的阶段,最近正好在学习mysql相关内容,看了一本书叫做<MySQL必知必会>,看了之后对MySQL的高级用法有了一定的了解.以下内容只当读书 ...

  10. 【SQL必知必会笔记(3)】SELECT语句的WHERE子句数据过滤操作

    上个笔记主要介绍了利用SELECT语句检索单个/多个/所有列,并利用DISTINCT关键字检索具有唯一性的值.利用LIMIT/OFFSET子句限制结果:以及利用ORDER BY子句排序检索出的数据,主 ...

随机推荐

  1. 2018-2-13-win10-uwp-绑定密码

    title author date CreateTime categories win10 uwp 绑定密码 lindexi 2018-2-13 17:23:3 +0800 2018-2-13 17: ...

  2. 命令分析nginx访问日志的用法

    awk分析日志常用高级使用命令方法 分析访问日志(Nginx为例) 日志格式: '$remote_addr - $remote_user [$time_local] "$request&qu ...

  3. 一、Vue分页实现

    一.Vue分页实现 <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equ ...

  4. 低门槛彻底理解JavaScript中的深拷贝和浅拷贝

    作者 | 吴胜斌 来源 | https://www.simbawu.com/article/search/9 在说深拷贝与浅拷贝前,我们先看两个简单的案例: //案例1var num1 = 1, nu ...

  5. python中map的排序以及取出map中取最大最小值

    map排序: 1.按key排序: items=dict.items() items.sort() sorted(dict.items(),key=lambda x:x[0],reverse=False ...

  6. range类型(Python)

    range 不是 iterator >>> R = range(3) >>> next(R) Traceback (most recent call last): ...

  7. flume源码

    IDEA查看源码 IDEA快捷键 1 查看接口的实现类:Ctrl+Alt+B 选中按快捷键,然后跳到实现类的地方去 2 切换页面:Alt+<- 和 Alt+-> Alt+-> 3 查 ...

  8. SQL Server 管理套件(SSMS)

    SQL Server 管理套件(SSMS) 当您按照之前章节的步骤顺利安装完 SQL Server 2014 后,要做的第一件事就是需要打开 SQL Server 管理套件,并且要知道怎样去使用它. ...

  9. boost库:函数对象

    函数对象是指那些可以被传入到其它函数或是从其它函数返回的一类函数. 1. boost::bind bind提供了一个机制,是函数与几乎不限数量的参数一起使用,就可以得到指定签名的函数.bind会复制传 ...

  10. JindoFS解析 - 云上大数据高性能数据湖存储方案

    JindoFS背景 计算存储分离是云计算的一种发展趋势,传统的计算存储相互融合的的架构存在一定的问题, 比如在集群扩容的时候存在计算能力和存储能力相互不匹配的问题,用户在某些情况下只需要扩容计算能力或 ...