mysql的关键字 别名有表别名和列别名
就是个表取名字和列取名字
列别名
表别名
(字句限定返回值)
—— 非(不是) 和 或
===(!=)基本比较运算符 判断字符串 数字 日期的大小 。
赋值运算符:=
语句:**where 列名 between val1 and val2; **是一个闭区间
语句: where 列名 in (值1, 值2, ...); 判断列的值是否在指定的集合中
判断列的值是否为空
语句:**where 列名 is null; **
语句:**where 列名 is not null; **
% 表示零或多个任意的字符
_ 表示一个任意的字符
语法:**where 列名 like '_%'; **
语法: order by 列名
order by(升序)asc 可省略
order by desc 降序
注意:当 order by 子句中有使用了带引号的别名时 , 无法排序
如果数据量小则在内存中进行 , 如果数据量大则需要使用磁盘
Limit 显示数据个数
Limit 起始位置,显示数据个数
select 列表中的字段,
要么使用聚合函数或 group_concat() 包起来,
**要么必须出现在 group by子句中 **
having 与group by结合使用,用于将分组后的结果进一步过滤
-count(*);可以获取查询的结果记录条数
-- max():获取最大值
-- min():获取最小值
-- avg():获取平均值
-- sum():指定字段求和
MYSQL回顾(单表查询相关)ERROR 1055 (42000): Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'alpha.employee.id' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by
原因:因为group by分组之后不能访问分组字段之外的字段,所以以下的select * 会报错. 换成 select dep_id from employee group by dep_id;
但是又无意义,所以此时需要用到聚合函数或者group_concat()函数
聚合函数聚合的是组的内容,若是没有分组 , 则默认是一组 。聚合函数有:
count():取个数
max():取最大值
min():取最小值
avg():取平均值
sum():求和
例如:
如果觉得count(dep_id)展示不友好 , 可以使用as关键字给该字段起别名
查询各部门员工个数小于3的部门id、部门员工姓名、员工个数
查询各部门平均工资大于10000的部门id、部门平均工资
查询各部门平局工资大于10000且小于10000000的部门id、部门平均工资
HAVING与WHERE不一样的地方在于!!!!!!
1. Where 发生在分组group by之前 , 因而Where中可以有任意字段,但是绝对不能使用聚合函数 。
2. Having发生在分组group by之后 , 因而Having中可以使用分组的字段,无法直接取到其他字段,可以使用聚合函数
排序分为升序ASC和降序DESC
查询所有员工信息,先按照部门id升序,如果id相同则按照年龄降序
查询各部门平均工资大于100000的部门id、平均工资,结果按平均工资升序
limit限制查询的记录条数
查询工资大于10000的 的前三名员工信息 , 并按降序排列
每页3条,查询第一页:
每页三条,查询第二页:
每页3条,查询第三页:
查询所有员工中以em开头的员工信息:
^代表开头
查询所有员工中以ck结尾的员工信息:
$代表结尾
查询所有员工姓名包含2个连续m的员工信息:
查询所有员工中姓名以emm开头且已y结尾的员工信息:
查询所有员工中姓名以emm开头且已i或y结尾的员工信息:
另外还有一个模糊查询:like 但是like只有下划线_和百分号%
Like关键字模糊匹配姓名以emm开头的记录
重点中的重点:单表查询关键字的执行顺序(优先级)
from
where
group by
having
select
distinct
order by
limit
26《MySQL 教程》聚合函数(聚合函数 MIN、MAX)MySQL 的常见的聚合函数有 AVG、COUNT、SUM、MIN、MAX , 上一小节介绍了 AVG、COUNT、SUM 三种聚合函数,本小节介绍如何使用 MIN、MAX 两种聚合函数 , 另外再介绍一下如何在 GROUP BY 中使用聚合函数 。
以 teacher 表为例,先查所有 teacher 信息:
查询结果如下图:
可以使用 MIN() 函数对结果集取年龄最小值的数据:
执行结果如下图:
以 student 表为例 , 先查看所有 student 信息:
查询结果如下图:
可以使用 MAX() 函数对结果集取年龄最大值的数据:
执行结果如下图:
以 student_course、course、student 表内连接查询为例:
查询结果如下图:
使用 AVG 函数取分组数据平均年龄:
执行结果如下图 :
可以使用 HAVING 对上述结果筛选,例如选出选课学生平均年龄大于 20 的课程数据:
执行结果如下图:
本小节介绍了如何使用 MIN、MAX 两种聚合函数对查询结果集进行筛?。?还介绍了如何在 GROUP BY中分组使用聚合函数,并且使用 HAVING 后面的条件对分组数据进行筛选 , 需要注意的是聚合函数产生的数据列最好重命名,这是因为后端程序语言在处理这些数据时需要规范的字段名,例如:
查询结果如下图:
mysql求字段最大值和最小值select max(字段名) from tableName limit 0,1 最大
select min(字段名) from tableName limit 0,1 最小
select * from tableName order by 字段名 DESC limit 0,1 最大
select * from tableName order by 字段名 ASC limit 0,1最小
【mysql怎么取最小值 mysql怎么取最小时间】关于mysql怎么取最小值和mysql怎么取最小时间的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站 。
推荐阅读
- 陪诊小程序搭建方案模板,商城小程序搭建方案
- 乌克兰区块链专业,乌克兰数字货币交易所
- vb6迁移至vb.net vb转vbnet
- flutterwindows安装教程,flutter20 windows
- sap年度最后一天注意,sap预算年结
- 餐饮店如何营造好口碑营销,餐饮店如何营造好口碑营销氛围
- oracle如何查字段 oracle怎么查看字段的数据类型
- redisdel原理,redis原理图
- Excel里如何兑换两列,excel两列数据兑换位置