在之前的查询都需要对查询的关机中进行“精确”、“完整”完整的输入才能查询相应的结果,
但在实际开发过程中,通常需要考虑用户可能不知道“精确”、“完整”的关键字,
那么就需要提供一种不太严格的查询方式,即模糊查询,只需要输入大概的部分内容就能完成查询。 一、模糊查询
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. 洛谷 P3369 【模板】普通平衡树 (Treap)

    题目链接:P3369 [模板]普通平衡树 题意 构造一种数据结构满足给出的 6 种操作. 思路 平衡树 平衡树的模板题. 先学习了一下 Treap. Treap 在插入结点时给该结点随机生成一个额外的 ...

  2. Vue 学习笔记之 —— 组件(踩了个坑)

    最近在学习vue,学习组件时,遇到了一个问题,困扰了半个多小时.. <!DOCTYPE html> <html lang="en"> <head> ...

  3. Java各版本的含义

    JavaSE(Java Standard Edition):标准版,定位在个人计算机上的应用.这个版本是Java平台的核心,它提供了非常丰富的API来开发一般个人计算机上的应用程序,包括用户界面接口A ...

  4. jQuery validate验证隐藏表单(hidden)域

    validate很不错的一个jQuery表单验证插件.升级到了1.9版的后,发现隐藏表单域验证全部失效,特别是在jquery.ui.tabs.min.js构造的Tabs里的验证!网上一搜,也没查到是怎 ...

  5. python :Django url /views /Template 文件介绍

    1,Django URL 路由系统 URL配置(URLconf)就像Django 所支撑网站的目录.它的本质是URL模式以及要为该URL模式调用的视图函数之间的映射表:你就是以这种方式告诉Django ...

  6. hbase启动的时候报:cat: /home/hadoop/hbase-0.94.6-cdh4.5.0/target/cached_classpath.txt: 没有那个文件或目录

    启动hbase的时候: -cdh4.5.0/bin$ hbase shell cat: /home/hadoop/hbase--cdh4.5.0/target/cached_classpath.txt ...

  7. 如何在react中实现一个倒计时组件

    倒计时组件 import React, { Component } from 'react' import $ from 'jquery' import "../../css/spellTE ...

  8. spring Aop设计原理

    转载至:https://blog.csdn.net/luanlouis/article/details/51095702 0.前言 Spring 提供了AOP(Aspect Oriented Prog ...

  9. 前端 css 补充内容

    给个菜鸟教程的css教程网址(全的狠!!!): https://www.runoob.com/css/css-tutorial.html 下面是几张css基础样式图:

  10. nodejs 模板引擎ejs的简单使用(3)

    1.ejs <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <tit ...