数据库基础-MySql8.0(第三篇)--条件查询
2021/12/7 2:19:18
本文主要是介绍数据库基础-MySql8.0(第三篇)--条件查询,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
MySql基础篇
条件查询
-- select 结果 from 表名 where 条件 -- 条件 -- =在where语句中表示是否相等 != < > >= <= SELECT * FROM student WHERE score >= 70 SELECT * FROM student WHERE score = 98 SELECT * FROM student WHERE score != 70 SELECT * FROM student WHERE score > 70 -- 逻辑and or not -- and且 between and SELECT * FROM student WHERE score>=60 AND score<=80 SELECT * FROM student WHERE score BETWEEN 60 AND 80 -- or或者 SELECT * FROM student WHERE score>=60 OR score<=80 -- not非 SELECT * FROM student WHERE NOT score<=80 -- 模糊查询 like -- like '张%' % 表示匹配多个字符 一个下划线表示匹配一个字符 SELECT * FROM student WHERE NAME LIKE '%三%' SELECT * FROM student WHERE NAME LIKE '张__' SELECT * FROM student WHERE NAME LIKE '张%' -- IN(1,3) 筛选满足1或者3的 SELECT * FROM student WHERE grade=1 OR grade=3 SELECT * FROM student WHERE grade IN(1,3) -- NOT IN(1,3)筛选不是1或者3的 SELECT * FROM student WHERE grade NOT IN(1,3) -- 查询电话为空的 SELECT * FROM student WHERE phone IS NULL -- 查询电话不为空的 SELECT * FROM student WHERE phone IS NOT NULL -- union all 的效率比union的效率高 -- union 将多个查询结果合并,多个结果的列数必须相同,会去重 SELECT num,NAME,sex FROM student WHERE sex = '男' UNION SELECT num,NAME,sex FROM student WHERE score>60 -- union all 直接将查询到的数据简单的连接,不会去重排序 SELECT num,NAME,sex FROM student WHERE sex = '男' UNION ALL SELECT num,NAME,sex FROM student WHERE score>80
排序
-- order by 排序列 ASC/DESC -- asc代表的是升序,desc代表的是降序 SELECT * FROM student ORDER BY num DESC -- 首先按score进行降序排列,有重复项时按num降序排列 SELECT * FROM student ORDER BY score DESC , num DESC -- 男生成绩按降序排列 SELECT * FROM student WHERE sex='男' ORDER BY score DESC -- limit 数量限制 -- 显示3个查询结果 SELECT * FROM student LIMIT 3; -- 查询结果 开始位置,数量 SELECT * FROM student LIMIT 0,2; #分页,第一页 SELECT * FROM student LIMIT 2,2; #分页,第二页 SELECT * FROM student LIMIT 4,2; #分页,第三页 -- LIMIT 3 OFFSET 2 从第二个之后的三个查询结果 SELECT * FROM student LIMIT 3 OFFSET 2; -- 分组查询 GROUP BY -- 和分组函数一同查询的字段要求是group by 后的字段 SELECT sex,COUNT(*) FROM student GROUP BY sex -- 查询男生各年级人数 -- 分组前数据过滤 SELECT grade,COUNT(*) FROM student WHERE sex='男' GROUP BY grade -- 查询那个性别人数大于2 -- 对分组后的数据进行条件过滤 SELECT * FROM (SELECT sex,COUNT(*) c FROM student GROUP BY sex)t WHERE t.c>2 -- having 对分组后结果进行筛选 SELECT sex,COUNT(*) c FROM student GROUP BY sex HAVING c>2
这篇关于数据库基础-MySql8.0(第三篇)--条件查询的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-24MySQL集群部署入门教程
- 2024-12-24部署MySQL集群学习:新手入门教程
- 2024-12-24部署MySQL集群入门:一步一步搭建指南
- 2024-12-07MySQL读写分离入门:轻松掌握数据库读写分离技术
- 2024-12-07MySQL读写分离入门教程
- 2024-12-07MySQL分库分表入门详解
- 2024-12-07MySQL分库分表入门指南
- 2024-12-07MySQL慢查询入门:快速掌握性能优化技巧
- 2024-12-07MySQL入门:新手必读的简单教程
- 2024-12-07MySQL入门:从零开始学习MySQL数据库