mysql单片表_day038MySQL之单表查询,各种条件详解

本节内容:

1、单表查询的语法

2、关键字的执行优先级(重点)

3、简单查询

4、where约束(重点)

5、group by 分组查询(重点)

6、having 过滤(重点)

7、order by 查询排序(重点)

8、limit 限制查询的记录数(重点)

9、使用正则表达式查询

一、单表查询的语法

查询数据的本质:mysql会到你本地的硬盘上找到对应的文件,

然后打开文件,按照你的查询条件来找出你需要的数据。

下面是完整的一个单表查询的语法

Bash

二、关键字的执行优先级(重点)

1、关键字的执行优先级:重点中的重点

Bash

详见:

三、简单查询

注意一点,在查询语句里面select 字段 from 表,这几项是必须要有的,

其他的什么where、group by等等都是可有可无的

先创建一个表,为后面执行查询操作演示

Bash

1、查询操作

相关查询操作

Bash

fe:小练习

答案

四、where约束

1、where的约束条件

1、where不能使用聚合函数,原因:(对照having)

Where 发生在分组group by之前,因而Where中可以有任意字段,

但是绝对不能使用聚合函数。

具体的查询代码示例

Bash

2、where条件及select执行的顺序

fe:where小练习

Bash

答案

Bash

五、group by : 分组查询

1、在where之后使用,即分组是基于where之后得到的记录而进行的分组

2、分组:指的是根据某个相同的字段进行分类。

3、分组的作用: 以组为单位进行一些数据统计,或是进行一些计算

取每个部门的最高工资

取每个部门的员工数

取男人数和女人数

4、大前提:

可以按照任意字段分组,但是分组完毕后,比如group by post,只能查看post字段,

如果想查看组内信息,需要借助于聚合函数

1、根据post分组的结果分析

Bash

2、ONLY_FULL_GROUP_BY

Bash

代码示例

Bash

3、group by的使用及配合聚合函数

Bash

4、聚合函数

强调:聚合函数聚合的是组的内容,若是没有分组,则默认一组

Bash

5、小练习

Bash

答案

Bash

六、having过滤(也是筛选的效果)

1、在group by 后使用。

2、having的语法格式和where是一模一样的,

3、having可以使用聚合函数,原因:(对照where)

Having发生在分组group by之后,因而Having中可以使用分组的字段,

无法直接取到其他字段,having是可以使用聚合函数

4、having不能单独使用,having必须跟在group by后面使用,

1、having的简单测试

Bash

2、小练习

Bash

答案

Bash

六.五、distinct 去重

1、将查询的结果进行去重:select distinct post from employee;

2、注意distinct去重要写在查询字段的前面,不然会报错,

3、distinct不能返回其他的字段,只能返回目标字段

Bash

七、order by 查询排序

1、单列排序

Bash

2、多列排序

数据在第一个排序条件相同的情况下,进行下一个条件排序

Bash

3、小练习

1. 查询所有员工信息,先按照age升序排序,如果age相同则按照hire_date降序排序

2. 查询各岗位平均薪资大于10000的岗位名、平均工资,结果按平均薪资升序排列

3. 查询各岗位平均薪资大于10000的岗位名、平均工资,结果按平均薪资降序排列

答案

Bash

八、limit 限制查询的记录数

Bash

1、分页显示,每页显示5条数据

好多的网站都可以看到一个分页的功能。

Bash

九、正则表达式的查询

之前我们用like做模糊匹配,只有%和_,局限性比较强,所以我们说一个正则,

之前我们是不是学过正则匹配,你之前学的正则表达式都可以用,正则是通用的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值