《MySQL必知必会》读书笔记 —— 第4章 检索数据、第5章 排序检索数据、第6章 过滤数据、第7章 数据过滤

本文介绍了SQL中的NOT操作符以及数据检索、过滤(包括DISTINCT、LIMIT和ORDERBY)、WHERE子句的使用方法,以及Java开发者的学习资源,涵盖了面试技巧和进阶知识。
摘要由CSDN通过智能技术生成
  • 7.3 NOT操作符

第4章 检索数据

========================================================================

第四章没太多好讲的,简单讲一个重点就好。

语法


SELECT field1,field2,[fieldn] FROM my_table;

SQL语句不区分大小写,因此

SELECT与select是相同的。同样,写成Select也没有关系。

许多SQL开发人员喜欢对所有SQL关键字使用大写,而对所有

列和表名使用小写,这样做使代码更易于阅读和调试。

分号不要忘记

通配符 *

SELECT* FROM my_table;

一般,除非你确实需要表中的每个列,否则最

好别使用*通配符。虽然使用通配符可能会使你自己省事,不

用明确列出所需列,但检索不需要的列通常会降低检索和应

用程序的性能。

检索不同的行(DISTINCT)

此关键字指示MySQL,只返回不同的值。

  • DISTINCT关键字应用于所有列的一个组合,而不仅是前置它的列。

限制结果(LIMIT)

SELECT语句返回所有匹配的行,它们可能是指定表中的每个行。为

了返回第一行或前几行,可使用LIMIT子句。

select语句的最后,加上

LIMIT start, cols

或者:

LIMIT cols OFFSET start

几个注意点:

  1. 行索引从0开始

  2. start表示开始查的行索引,cols 是查询允许的最多函数。

  3. 在行数不够的时候,能返回多少就返回多少。

比如 LIMIT 1,2 表明最多查第2行和第三行

使用完全限定的表名

使用完全限定的名字来引用列(同时使用表名和列字)。在后面的多表联查会用到。

第5章 排序数据

========================================================================

这一章内容也比较简单,主要就讲了排序。

子句(clause) SQL语句由子句构成,有些子句是必需的,而

有的是可选的。一个子句通常由一个关键字和所提供的数据组

成。子句的例子有SELECT语句的FROM子句,我们在前一章看到过这个子

句。

ORDER BY子句


  • ORDER BY子句取一个或多个列的名字,据此对输出进行排序。

  • 按多个列排序时,排序完全按所规定的顺序进行。

  • 通过非检索列进行排序,也是可行的。

如:

意思就是将学生的分数按从低到高排列,分数相同的学生按名字排序。

SELECT id,score

FROM student_score

ORDER BY score,name;

指定排序方向(DESC)

为了进行降序排序,

必须指定DESC关键字。

下面的SQL的功能就是让学生的分数从高到低排序了。

SELECT id,score

FROM student_score

ORDER BY score DESC,name;

  • 在多个列上降序排序 如果想在多个列上进行降序排序,必须对每个列都指定DESC关键字

ORDER BY和LIMIT的组合

下面的SQL就是只找出分数最高的学生的信息。

SELECT id,name

FROM student_score

ORDER BY score DESC;

LIMIT 1;

子句的位置顺序

  • 在给出ORDER BY子句时,应该保证它

位于FROM子句之后。

  • 如果使用LIMIT,它必须位于ORDER BY

之后。使用子句的次序不对将产生错误消息。

后面讲到其他子句的时候,还会在讲到子句的顺序。

第6章 过滤数据

========================================================================

使用WHERE子句


FROM子句后面,加上WHERE子句来过滤数据。

WHERE子句的位置 在同时使用ORDER BY和WHERE子句时,应

该让ORDER BY位于WHERE之后,否则将会产生错误(关于ORDER

BY的使用,请参阅第5章)。

WHERE子句操作符


  1. 等于 =

  2. 不等于 != (<>)

  3. 小于 <

  4. 小于等于 <=

  5. 大于 >

  6. 大于等于 >=

  7. 介于两者之间 BETWEEN

如:

SELECT num FROM test WHERE num BETWEEN 1 AND 3;

几个注意点:

  • =匹配字符串的时候,字符串用单引号’'包裹,此匹配不区分大小写。(可以根据MySQL的配置去改)。

  • 范围匹配的BETWEEN的包括左右端点 ;

空值检查(IS NULL)


  • NULL与不匹配的问题。

注意值为NULL和字段不匹配不是一回事,MYSQL为null有特殊的含义。

比如where name != 'tiger'想过滤出那些名字不是tiger的记录,但是那么name字段为null的记录没有筛选出来!

第7章 数据过滤

========================================================================

本章讲授如何组合WHERE子句以建立功能更强的更高级的搜索条件。 我们还将学习如何使用NOT和IN操作符。

7.1 组合WHERE子句


自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

如果你觉得这些内容对你有帮助,可以扫码获取!!(备注Java获取)

img

2021年Java中高级面试必备知识点总结

在这个部分总结了2019年到目前为止Java常见面试问题,取其面试核心编写成这份文档笔记,从中分析面试官的心理,摸清面试官的“套路”,可以说搞定90%以上的Java中高级面试没一点难度。

本节总结的内容涵盖了:消息队列、Redis缓存、分库分表、读写分离、设计高并发系统、分布式系统、高可用系统、SpringCloud微服务架构等一系列互联网主流高级技术的知识点。

目录:

(上述只是一个整体目录大纲,每个点里面都有如下所示的详细内容,从面试问题——分析面试官心理——剖析面试题——完美解答的一个过程)

部分内容:

对于每一个做技术的来说,学习是不能停止的,小编把2019年到目前为止Java的核心知识提炼出来了,无论你现在是处于什么阶段,如你所见,这份文档的内容无论是对于你找面试工作还是提升技术广度深度都是完美的。

不想被后浪淘汰的话,赶紧搞起来吧,高清完整版一共是888页,需要的话可以点赞+关注
《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!
:**

[外链图片转存中…(img-bheUzeqk-1713514700806)]

[外链图片转存中…(img-7kL7fM2c-1713514700807)]

[外链图片转存中…(img-qncCK2Es-1713514700809)]

对于每一个做技术的来说,学习是不能停止的,小编把2019年到目前为止Java的核心知识提炼出来了,无论你现在是处于什么阶段,如你所见,这份文档的内容无论是对于你找面试工作还是提升技术广度深度都是完美的。

不想被后浪淘汰的话,赶紧搞起来吧,高清完整版一共是888页,需要的话可以点赞+关注
《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值