SQL必知必会(第四版)读书笔记

1.如果不是确实需要每一列,尽量不要使用通配符*

2.通配符的优点:可以检测出位置列名的列

3.在使用order by字句时,应该保证位于select语句的最后一条字句

4一般order by 使用在需要进行显示的列,但用于非显示的列也合法

5.order by可以对多个列进行排序;:order by name,age;表示先根据姓名排序,lian姓名相同再根据age排序。简写可写为:

    order by 2,3;   2表示查询清单中的第二列,3表示查询清单中的第三列。

6.order by 默认排序为升序排序,如需降序在其后使用DESC,但desc只对其前面的列名有效(如果有多列进行排序)

    如果想在多个列上进行降序排序,需要在每一列之后指定关键字DESC

7.where 语句进行检索时,被检索列为字符串类型时则需要使用引号将要比较的值括起来,如果是数值则不需要。

8.where 语句可以使用and进行连接多个条件,每个条件之间都要使用and进行连接。相当于 与 : && 操作,条件必须全部满足

   使用 or 进行来连接,相当于 或 :|| 操作,只要有一个条件满足就会通过。

9.当where语句中同时含有 and 和 or 操作符时,如果没有使用圆括号对操作符进行明确分组,则 and 的优先级会比 or 高。

10.在任何时候使用同时具有 and 和 or 的 where 字句,都应该使用圆括号进行明确的分组操作符,不应过分依赖默认的求职顺序。

11.虽然在某种程度上使用 in 操作符与使用 or 操作符 能够产生相同的效果,但相比 or 操作符,in 操作符更加简单明了,执行速度比 or 快,还可以包含其他 select 语句,建立动态查询语句(看了这么久,终于出现一个听起来牛逼的词了)。

12.not 关键字用来否定其后的条件关键字,不单独使用,总是和其他操作符一起使用。

13.使用 like 加 通配符可以进行模糊查询,通配符搜索只能用于文本文段(字符串),不能用于非文本数据类型字段。

14. 通配符 % 几乎可以匹配任何字符,但有一例外,就是 null

15. _  与 % 都是通配符, 区别是,一个 _  只能匹配一个字符 (不能多也不能少)。

16.使用Concat()函数可以查询出多个库中字段拼接的结果

17.使用 + - * / 与AS(别名)配合,可以执行算数计算

18.soundex是一个比较有意思的sql函数:通过该函数进行where查询,可以查询出读音相似的值,但是只支持英文不支持中文

19.使用count(*)进行行数统计不管表列中包含的是空值(null)还是非空值,使用count(列名)进行行数统计,会忽略NUll值。

猜你喜欢

转载自blog.csdn.net/GuiMa005/article/details/108478243