在之前的查询都需要对查询的关机中进行“精确”、“完整”完整的输入才能查询相应的结果,
但在实际开发过程中,通常需要考虑用户可能不知道“精确”、“完整”的关键字,
那么就需要提供一种不太严格的查询方式,即模糊查询,只需要输入大概的部分内容就能完成查询。 一、模糊查询
1、使用LIKE关键字
语法:SELECT <字段列表|*> FROM 表名 [WHERE 字段名 LIKE %关键字%];
说明:通配符_(表示任意0到1个字符)、%(表示任意的0到多个字符)
举例:SELECT * FROM tb_student
WHERE student_name LIKE '%娘%' OR phone LIKE '%娘%' OR address LIKE '%娘%' OR email LIKE '%娘%';
2、使用BETWEEN END关键字
语法:SELECT <字段列表|*> FROM 表名 [WHERE 字段名 BETWEEN 起始值 AND 终止值];
说明:“起始值”和“终止值”都包含
举例:SELECT * FROM tb_score WHERE student_score >=80 AND student_score <= 90;
SELECT * FROM tb_score WHERE student_score BETWEEN 80 AND 90; 3、使用IN关键字
语法:SELECT <字段列表|*> FROM 表名 [WHERE <字段名 IN (可取值列表)>];
说明:查询的关键字若包含在IN后面的“可取值列表”中,认为是合法的
举例:-- 查询“java”和“HTML”的课程信息
SELECT * FROM tb_subject WHERE subject_name = "java" OR subject_name = "html";
SELECT * FROM tb_subject WHERE subject_name IN("java","html");
4、使用正则表达式 (REGEXP)子句
语法1、:SELECT <字段列表|*> FROM 表名 [WHERE <字段名 REGEXP正则表达式规则 >];
语法2、:SELECT <被匹配的值> REGEXP <正则表达式规则>;
说明:被匹配的值若满足正则表达式规则,表示匹配成功显示1,否则显示0
举例:SELECT * FROM tb_student WHERE email REGEXP '^([a-zA-Z0-9]+)*@([a-zA-Z0-9]+)\.([a-zA-Z]{2,5})$';
-- ^[\u2E80-\u9FFF]+$
SELECT * FROM tb_student WHERE not student_name REGEXP "^([u0391-uFFE5]{2,4})$";
二、聚合函数
1、COUNT():统计满足条件的记录数
2、SUM():计算求和
3、AVG():计算平均值
4、MAX():求最大值
5、MIN():求最小值 SELECT * FROM tb_score LIMIT 10,5;
-- 针对tb_score表,每页最多显示5条记录,请查询第二页
SELECT * FROM tb_score LIMIT 5,5;
SELECT SUM(student_score) FROM tb_score;
SELECT AVG(student_score) FROM tb_score;
SELECT MAX(student_score) FROM tb_score;
SELECT MIN(student_score) FROM tb_score; pageCount = (rowCount%pageSize == 0) ? rwoCount / pageSize : rowCount / pageSize + 1; 三、mysql中常用函数:
1、与字符相关的函数:
SELECT CONCAT(student_no,'----',student_name) FROM tb_student;
SELECT address, LENGTH(address) 长度 FROM tb_student;
SELECT UPPER("afaag");
SELECT LOWER("asdKKJF");
2、与数值相关的函数:
-- ROUND(X,D) 四舍五入
SELECT ROUND(85.65622,2);
-- ROUND(X) 四舍五入,d为0
SELECT ROUND(85.65622);
-- `TRUNCATE`(X,D) 截断函数
SELECT TRUNCATE(85.65622,2);
-- `MOD`(N,M) 取模
SELECT MOD(10,3);
3、与日期相关的函数:
计算日期时间差的函数
TIMESTAMPDIFF(unit,datetime_expr1,datetime_expr2);
说明:
unit:指点计算哪种类型的差值
datetime_expr1:减数
datetime_expr2:被减数

MySQL 05章_模糊查询和聚合函数的更多相关文章

  1. mysql 06章_分组查询和链接查询

    一.分组查询 在进行查询时,通常需要按某个或某些字段进行一些统计,因此就需要使用分组查询,但分组后通常需要与聚合函数使用,分组才有意义. 语法:SELECT <字段列表|*> FROM 表 ...

  2. sql sever模糊查询和聚合函数

    使用is null 的时候 要确保 查询的列 可以为空! null:  01.标识  空值  02.不是0,也不是空串""  03.只能出现在定义 允许为null的字段  04.只 ...

  3. SQL Server数据库————模糊查询和聚合函数

    ***********模糊查询*********/ 关键字: like (!!!!字符串类型) in (,,)  匹配()内的某个具体值(括号里可以写多个值) between... and.. 在某两 ...

  4. MySQL 07章_子查询

    子查询就是查询中还可以嵌套其他的查询,通常是内层查询的结果作为外层查询的条件来使用 执行循序,自内向外依次执行 一.内层查询返回“单列单行”的结果 -- 1.查询宋江的出生日期 SELECT TIME ...

  5. 【软件实施面试】MySQL和Oracle联合查询以及聚合函数面试总结

    软件实施面试系列文章第二弹,MySQL和Oracle联合查询以及聚合函数的面试总结.放眼望去全是MySQL,就不能来点Oracle吗?之前面过不少公司,也做过不少笔试题,现在已经很少做笔试题了.你肚子 ...

  6. MySQL中使用Like模糊查询太慢

    问题:明明建立了索引,为何Like模糊查询速度还是特别慢? Like是否使用索引? 1.like %keyword    索引失效,使用全表扫描.但可以通过翻转函数+like前模糊查询+建立翻转函数索 ...

  7. MYSQL 行转列 以及基本的聚合函数count,与group by 以及distinct组合使用

    在统计查询中,经常会用到count函数,这里是基础的 MYSQL 行转列 以及基本的聚合函数count,与group by 以及distinct组合使用 -- 创建表 CREATE TABLE `tb ...

  8. mysql数据库查询和聚合函数

    1.模糊查询 like % 表示多个任意字符 _ 表示任意一个字符 例如:查询黄姓同学 select * from student where name '黄%' select * from stud ...

  9. 18 12 06 sql 的 基本语句 查询 条件查询 逻辑运算符 模糊查询 范围查询 排序 聚合函数 分组 分页 连接查询 自关联 子查询

    -- 数据的准备 -- 创建一个数据库 create database python_test charset=utf8; -- 使用一个数据库 use python_test; -- 显示使用的当前 ...

随机推荐

  1. 我看Spring MVC系列(一)

    1.Spring MVC是什么: Spring MVC:Spring框架提供了构建Web应用程序的全功能MVC模块. 2.Spring helloWorld应用(基于Spring 4.2) 1.添加S ...

  2. Linux之nginx-uwagi-django 搭建

    1. nginx 1) 使用官方Nginx yum源 [root@nginx ~]# vim /etc/yum.repos.d/nginx.repo [nginx] name=nginx repo b ...

  3. csdn左侧个人栏目美化,css英文颜色大全,跑马灯效果,点击转到qq联系,点击转到发送邮件。

    跑马灯效果: <a href="http://mmmmmm.me" target="_blank"><marquee><font ...

  4. TLS/SSL 协议 - ServerKeyExchange、ServerHelloDone

    ServerKeyExchange ServerKeyExchange消息的目的是携带密钥交换的额外数据.消息内容对于不同的协商算法套件都会存在差异.在某些场景中,服务器不需要发送任何内容,这意味着在 ...

  5. 第48章 MDK的编译过程及文件类型全解

    Frm: http://www.cnblogs.com/firege/p/5806134.html 全套200集视频教程和1000页PDF教程请到秉火论坛下载:www.firebbs.cn 野火视频教 ...

  6. fabs() abs()

    fabs() 面向实数取绝对值 abs() 返回int

  7. 我的vscode配置 利用Settings Sync一键安装

    { "prettier.eslintIntegration": true, // 点击保存时,根据 eslint 规则自定修复,同时集成 prettier 到 eslint 中 & ...

  8. ORACLE check view

    select owner as schema_name,        view_name from sys.all_views where VIEW_NAME like 'P%' order by ...

  9. javabean 深拷贝

    <!-- https://mvnrepository.com/artifact/uk.com.robust-it/cloning --> <dependency> <gr ...

  10. C# 模拟http请求网页数据 [网页爬虫]

    using System; using System.Collections.Specialized; using System.IO; using System.Linq; using System ...