mysql多条件查询not in变量,mysql 的筛选Retrieve

90311b036a63

90311b036a63

90311b036a63

90311b036a63

90311b036a63

90311b036a63

90311b036a63

-- 条件查询 :关系运行符 > 、< 、=、>=、<= 、!=或者<>表示不等于--

逻辑运算符: and or not -- 判断空 is null 非空 IS NOT NULL --

as 可以起别名 。注意:这里面的大小写不区分。

select * from hero where age >30 and age <40; 筛选hero这个表中age>30 和age<40的数据

select * from hero where age !=35 OR age >35;筛选hero这个表age不等于35或者大于35的数据

-- select * from hero where age IS not NULL;筛选hero这个表age是不是空的数据

-- select * from hero where age IS  NULL;筛选hero这个表age是空的数据

-- select * from hero where age=30; 筛选hero这个表age为30的数据

-- select * from hero where age in(30,35) 筛选hero表中age为30或者age为35的所有数据

--  select * from hero where age>=35 AND age <=40; 筛选表中age在[35,40]这个闭区间的数据

-- select * from hero where age BETWEEN 35 AND 40;筛选表中age在[35,40]这个闭区间的数据

1.1.1.1范围查询

·in   表示在一个非连续的范围内

·查询编号是1或3或8的学生

select * from students where id in(1,3,8);

·between ... and ...表示在一个连续的范围内

·查询学生是3至8的学生

select * from students where id between 3 and 8;

--消除重复行

·在   select  后面列前使用  distinct     可以消除重复的行

select   distinct      gender    from    user;

-- 聚合函数 SUM()、 MAX()、min()、 AVG()、count()、

-- SELECT count(age) FROM hero  表示查询表中的总数量

-- SELECT MAX(age) FROM hero  表示查询表中age 这列的最大值

-- SELECT Min(age) FROM hero  表示查询表中age 这列的最小值

-- SELECT AVG(age) FROM hero  表示查询表中age 这列的平均值

-- where 模糊查询  类似于我们学的match正则表达式

-- SELECT * FROM hero WHERE `name` LIKE "%hua%"  筛选包含hua的名称的用户。

-- SELECT * FROM hero WHERE `name` LIKE "hua%"  筛选以hua为开头的用户数据

-- SELECT * FROM hero WHERE `name` LIKE "hua"  这样是筛选必须name为hua的用户数据

-- SELECT * FROM hero WHERE `name` LIKE "_hua"  筛选第二位以hua为开头的用户数据 ,

注意:_表示必须占据一个位置。 %相当于0个或者多个通配符

-- SELECT * FROM hero WHERE `name` LIKE "hua"  就相当于SELECT * FROM hero WHERE `name`= "hua"

-- SELECT * FROM hero WHERE `name` like "_%rong"

注意:"_"和 "%" 可以同时使用

-- 条件查询:

-- 排序 order by

-- Select * from 表名  where 条件 order by 字段名称 [asc|desc]

--  asc 表示升序,也就是从小到大。desc表示降序,也就是从大到小。

-- SELECT * FROM hero WHERE `level` ORDER BY `level` ASC , age DESC;  多个字段用逗号隔开

-- 分组查询: GROUP BY

-- SELECT  gender, COUNT(*) from `hero` GROUP BY gender  表示以gender为标准进行分组,查到它的数量。

--  SELECT  age as 类别, COUNT(*) as 数量 from `hero` GROUP BY age

-- 筛选表示age相同的进行分组,查到每个age相同的数量。as表示起别名,也可以省略不写

-- Having 筛选

-- 注意,having是配合group by存在的,即有了分组才能有筛选,前后筛选对象要一致。

-- SELECT `level`,COUNT(*) from hero GROUP BY `level` HAVING `level`>85;

-- 前后的筛选对象要一致,比如这里的level、都已level为判断标准。

-- 分页查询:Limit

/**

四个变量:

当前页:pageNow 有用户决定

页面大小:pageSize 一页显示多少条数据 有程序员决定

共有多少条记录: allCount count 查询出来的

共有多少页:pageCount 计算出来的值 pageCount = Math.ceil(allCount/pageSize)

**/

-- Select * from hero limit 0,2 #查询前2条数据

-- Select * from hero limit (pageNow -1)*pageSize, pageSize

-- 条件查询-顺序问题

/*

Select

from

Where

Group by

Having

Order by

limit

*/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值