MYSQL(2) 高级查询

ops/2024/9/23 9:23:42/

文章目录

  • 概述
  • 高级查询
    • 基础查询
    • 条件查询
    • 范围查询
    • 判空查询
    • 模糊查询
    • 分页查询
    • 查询后排序
    • 分组查询
  • 小结

概述

接上篇,上篇写到增删改查。这篇继续。

高级查询

基础查询

-- 全部查询
select * from student;
-- 只查询部分字段
select 'sname', 'class_id' from student;
-- 别名,列名  不用关键字
select 'sname' as '姓名', 'class_id' as '班级ID' from student;
-- 把查询出来的重复记录去掉
select distinct 'class_id' from student;

条件查询

-- 查询姓名为 aaa 的学生信息
SELECT * FROM `student` WHERE `name` = 'aaa';
-- 查询性别为 男,并且班级为 2 的学生信息
SELECT * FROM `student` WHERE `gender`="男" AND `class_id`=2;

范围查询

-- 查询班级id 1 到 5 的学生的信息
select * from student where 'class_id' between 1 and 5;

判空查询

SELECT * FROM `student` WHERE `class_id` IS NULL; #判断不为空
SELECT * FROM `student` WHERE `class_id` IS NOT NULL; #判断不为空SELECT * FROM `student` WHERE `gender` <> ''; #判断不为空字符串
SELECT * FROM `student` WHERE `gender` = ''; #判断为空字符串

模糊查询

-- 使用 like关键字,"%"代表任意数量的字符,”_”代表占位符
-- 查询名字为 m 开头的学生的信息
SELECT * FROM `teacher` WHERE `tname` LIKE '谢%';
-- 查询姓名里第二个字为 小 的学生的信息
SELECT * FROM `teacher` WHERE `tname` LIKE '_小%';

分页查询

SELECT * FROM `student` LIMIT 1,2;

查询后排序

-- 关键字:order by field, asc:升序, desc:降序
SELECT * FROM `score` ORDER BY `num` ASC;
-- 按照多个字段排序
SELECT * FROM `score` ORDER BY `course_id` DESC, `num` DESC;

分组查询

-- 分组加group_concat
SELECT `gender`, group_concat(`age`) as ages FROM `student` GROUP BY
`gender`;
-- 可以把查询出来的结果根据某个条件来分组显示
SELECT `gender` FROM `student` GROUP BY `gender`;
-- 分组加聚合
SELECT `gender`, count(*) as num FROM `student` GROUP BY `gender`;
-- 分组加条件
SELECT `gender`, count(*) as num FROM `student` GROUP BY `gender` HAVING num
> 6;

小结

本篇主要写了MYSQL的高级查询,比如条件查询,范围查询,判空查询,模糊查询,分页查询,查询后排序等等。这些都是很常用的,有兴趣,一起来学习学习。OK,结束。


http://www.ppmy.cn/ops/84833.html

相关文章

Android笔试面试题AI答之控件Views(5)

目录 1.Android补间动画和属性动画的区别?1. 作用对象2. 属性变化3. 动画效果4. 实现方式5. 引入时间 2.简述Android RecyclerView的优化措施?1. 布局优化2. 绘制优化3. 数据优化4. ViewHolder优化5. 滑动优化6. 内存优化7. 其他优化措施 3.Android自定义View / ViewGroup的步…

Vue如何让用户通过a链接点击下载一个excel文档

在Vue中&#xff0c;通过<a>标签让用户点击下载Excel文档&#xff0c;通常需要确保服务器支持直接下载该文件&#xff0c;并且你有一个可以直接访问该文件的URL。以下是一些步骤和示例&#xff0c;展示如何在Vue应用中实现这一功能。 1. 服务器端支持 首先&#xff0c;…

SpringBoot Vue使用Jwt实现简单的权限管理

为实现Jwt简单的权限管理&#xff0c;我们需要用Jwt工具来生成token&#xff0c;也需要用Jwt来解码token&#xff0c;同时需要添加Jwt拦截器来决定放行还是拦截。下面来实现&#xff1a; 1、gradle引入Jwt、hutool插件 implementation com.auth0:java-jwt:3.10.3implementatio…

MySQL数据库(基础篇)

&#x1f30f;个人博客主页&#xff1a;心.c 前言&#xff1a;今天讲解的是MySQL的详细知识点的&#xff0c;希望大家可以收货满满&#xff0c;话不多说&#xff0c;直接开始搞&#xff01; &#x1f525;&#x1f525;&#x1f525;文章专题&#xff1a;MySQL &#x1f63d;感…

数据分析详解

一、数据分析教程 1. 入门教程 在线课程&#xff1a;如Coursera、Udemy、网易云课堂等平台提供了大量数据分析的入门课程&#xff0c;涵盖统计学基础、Python/R语言编程、数据可视化等内容。书籍推荐&#xff1a;《Python数据分析实战》、《R语言实战》等书籍是数据分析入门的…

Redis在SpringBoot中遇到的问题:预热,雪崩,击穿,穿透

缓存预热 预热即在产品上线前&#xff0c;先对产品进行访问或者对产品的Redis中存储数据。 原因&#xff1a; 1. 请求数量较高 2. 主从之间数据吞吐量较大&#xff0c;数据同步操作频度较高,因为刚刚启动时&#xff0c;缓存中没有任何数据 解决方法&#xff1a; 1. 使用脚…

electron 网页TodoList应用打包win桌面软件数据持久化

参考&#xff1a; electron 网页TodoList工具打包成win桌面应用exe https://blog.csdn.net/weixin_42357472/article/details/140648621 electron直接打包exe应用&#xff0c;打开网页上面添加的task在重启后为空&#xff0c;历史没有被保存&#xff0c;需要持久化工具保存之前…

C++STL初阶(8):list的简易实现(上)

经过对list的使用的学习&#xff0c;我们模拟STL库中的list&#xff0c;实现自己的list 目录 1.观察库中的链表的实现 2.list的实现 2.1 基本结构 2.2 基本接口 3.迭代器&#xff08;本篇重点&#xff09; 3.1 迭代器的构建 3.2 联系list 3.3 ListIterato…