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

在之前的查询都需要对查询的关机中进行“精确”.“完整”完整的输入才能查询相应的结果, 但在实际开发过程中,通常需要考虑用户可能不知道“精确”.“完整”的关键字, 那么就需要提供一种不太严格的查询方式,即模糊查询,只需要输入大概的部分内容就能完成查询. 一.模糊查询 .使用LIKE关键字 语法:SELECT <字段列表|*> FROM 表名 [WHERE 字段名 LIKE %关键字%]; 说明:通配符_(表示任意0到1个字符).%(表示任意的0到多个字符) 举例:SELECT * FROM tb…
一.分组查询 在进行查询时,通常需要按某个或某些字段进行一些统计,因此就需要使用分组查询,但分组后通常需要与聚合函数使用,分组才有意义. 语法:SELECT <字段列表|*> FROM 表名[WHERE <筛选条件1>][GROUP BY<分组字段列表> [HAVING <筛选条件2>]]; 说明:a.having是对分组统计的结果进行筛选 b.where是在分组统计之前进行筛选 .GROUP BY 单独使用: /*举得例子由于电脑出现故障被我重装系统,找不…
使用is null 的时候 要确保 查询的列 可以为空! null:  01.标识  空值  02.不是0,也不是空串""  03.只能出现在定义 允许为null的字段  04.只能使用is  null 或者is not null 进行比较! 通配符_ 一个字符% 任意长度字符[ ] 括号中所制定范围内的一个字符[^] 不在括号中所指定范围内的一个字符 模糊查询like 好像,包含is (not) 是(否)= 拥有beween 1 and 2 范围查询(1-2)in 完全匹配查询or…
***********模糊查询*********/ 关键字: like (!!!!字符串类型) in (,,)  匹配()内的某个具体值(括号里可以写多个值) between... and.. 在某两个值的区间范围中(前后都包括,小的写前面,大的写后面) **********通配符********/ 1.%  任意个数的任意字符 示例: LIKE 'CO%'    可取值CONST.COKE等Cd等  2._  匹配一个任意字符 示例: LIKE 'C_'      可取值CS. 3.[] 匹配…
子查询就是查询中还可以嵌套其他的查询,通常是内层查询的结果作为外层查询的条件来使用 执行循序,自内向外依次执行 一.内层查询返回“单列单行”的结果 -- 1.查询宋江的出生日期 SELECT TIMESTAMPDIFF(year,birthday,NOW()) FROM tb_student WHERE student_name = "宋江"; -- 2.再使用宋江的出生日期作为条件执行查询 SELECT * FROM tb_student WHERE TIMESTAMPDIFF(ye…
软件实施面试系列文章第二弹,MySQL和Oracle联合查询以及聚合函数的面试总结.放眼望去全是MySQL,就不能来点Oracle吗?之前面过不少公司,也做过不少笔试题,现在已经很少做笔试题了.你肚子有多少墨水,有经验的面试官一问基本上就知道个大概了.趁着还有点微薄的记忆,就彻底分享出来啦. 系列文章已收录至github仓库: https://github.com/cnwangk/SQL-study 前言 那个用心作题图,用脚写文档的就是我龙腾万里sky啦. 如果不想自己去新建示例,也想找一个完…
问题:明明建立了索引,为何Like模糊查询速度还是特别慢? Like是否使用索引? 1.like %keyword    索引失效,使用全表扫描.但可以通过翻转函数+like前模糊查询+建立翻转函数索引=走翻转函数索引,不走全表扫描. 2.like keyword%    索引有效. 3.like %keyword% 索引失效,也无法使用反向索引. 使用mysql的explain简单测试如下: explain select * from company_info where cname like…
在统计查询中,经常会用到count函数,这里是基础的 MYSQL 行转列 以及基本的聚合函数count,与group by 以及distinct组合使用 -- 创建表 CREATE TABLE `tb_student` ( `id` ) NOT NULL, `stu_name` ) CHARACTER SET utf8mb4 DEFAULT NULL COMMENT '学生姓名', `tea_name` ) DEFAULT NULL COMMENT '教师姓名', `stu_class` ) D…
1.模糊查询 like % 表示多个任意字符 _ 表示任意一个字符 例如:查询黄姓同学 select * from student where name '黄%' select * from student where name '黄_' 2. 范围查询 in 表示在一个非连续的范围内 select id from student where id in (1,2,3) 优先级由高到低的顺序为:小括号,not, 比较运算符 ,逻辑运算符 and 比 or 先运算, 同时出现并希望先算 or ,需…
-- 数据的准备 -- 创建一个数据库 create database python_test charset=utf8; -- 使用一个数据库 use python_test; -- 显示使用的当前数据是哪个? select database(); -- 创建一个数据表 -- students表 create table students( id int unsigned primary key auto_increment not null, name ) default '', age ,…