通过前面的多篇博文,我们已经可以进行对数据库的基本操作了,但是数据库是远远不止这些的,接下来我们将会进入更深层次的数据库学习,勤学苦练才能有所得。

下面将介绍数据库的重要查询方式

  1.排序查询

对查询结构进行排序

关键字:order by   字段名   [ASC|DESC]

ASC:升序    从小到大 (默认的)

DESC:降序  从大到小

我们还是以上篇文章的  commodity 表为例进行查询

#我们对表中的cname(商品名称)和cprice(商品价格)进行查询并按cprice(商品价格)大小进行排序
#按商品价格小到大顺序
SELECT cname,cprice FROM commodity ORDER BY cprice ASC;
#按商品价格大到小顺序
SELECT cname,cprice FROM commodity ORDER BY cprice DESC;
#查询所有商品按价格从小到大排序
SELECT * FROM commodity ORDER BY cprice ASC;
#查询所有商品信息,在价格(降序)的基础上 ,以cid排序(降序)
-- 在此查询中 我们是以价格为主进行查询,当价格相同时我们才会以cid对价格相同的商品进行降序查询
SELECT *FROM commodity ORDER BY cprice DESC,cid DESC; 

2.聚合查询

以前的查询都是横向查询,而聚合查询是纵向个数查询。

聚合查询的特点:查询到的结构是 单一值

聚合函数

count:求记录数的聚合函数,count函数会自动忽略空值

以下四个常用于数值查询:

max:最大值

min:最小值

avg:平均值

sun:总和

我们以代码为例进行学习

#查询所有商品信息
SELECT COUNT(*) FROM commodity;
#以ctype(商品类型)进行聚合查询
SELECT COUNT(ctype) FROM commodity;
#查询所有商品价格的最大值
SELECT MAX(cprice) FROM commodity;
#查询所有商品价格的最小值
SELECT MIN(cprice) FROM commodity;
#查询所有商品最大值,最小值,平均值,总和
SELECT MAX(cprice) AS 最大值,MIN(cprice)  最小值,AVG(cprice)  平均值,SUM(cprice)  总和  FROM commodity;

3.分组查询

                                把查询分为几个组

关键字:group by 字段

先分组,再查询。具体查询结果数,取决能分多少组。

如果分组后还有需要条件判断 那么我们使用 having 关键字

where 和 having之间的区别:

where  写在基本查询后面

having  写在分组查询后面

where 后面不能写 count sum等聚合函数

而having后面能够写

如下实例

#查询所有以ctype分组后的价格总和
SELECT SUM(cprice) AS 以stype分组后的价格总和  FROM commodity GROUP BY ctype; #统计商品总数
SELECT COUNT(*) FROM commodity;
#按照商品类型进行分组
SELECT COUNT(*)FROM commodity GROUP BY ctype;
#统计各个类型商品的个数,且显示个数大于1的
SELECT COUNT(*) 个数 FROM commodity GROUP BY ctype HAVING 个数>1;

4.分页查询

只查询记录中的一部分

关键字:limit  数值1(查询下标 从零开始),数值2(需要查询的记录数)

#查询表中前5条数据
SELECT * FROM commodity LIMIT 0,5; #查询第6条后的2条数据
SELECT *FROM commodity  LIMIT 6,2;  

转载于:https://www.cnblogs.com/G1314520/p/10725188.html

数据库基础 (六)单表查询进阶相关推荐

  1. MySQL数据库-DQL(单表查询)

    单表查询 数据准备 查询语法 查询全部 条件查询 (where) 查询条件分类 条件查询的语法 聚合函数查询 聚合函数介绍 聚合函数分类 聚合函数语法 案例学习 排序查询 (order by) 注意 ...

  2. 数据库开发——MySQL——单表查询

    一.单表查询的语法 SELECT 字段1,字段2... FROM 表名WHERE 条件GROUP BY fieldHAVING 筛选ORDER BY fieldLIMIT 限制条数 二.关键字的执行优 ...

  3. 数据库——数据操作——单表查询(9)

    单表查询 1.语法 SELECT 字段1,字段2... FROM 表名WHERE 条件GROUP BY fieldHAVING 筛选ORDER BY fieldLIMIT 限制条数 2.关键字的执行优 ...

  4. 数据库语句之单表查询语句

    单表查询 查询语句基本格式 SELECT <查询列> [FROM <数据源>] [WHERE <行条件表达式>] [GROUP BY <分组依据>] [ ...

  5. 数据库2——简单 单表查询(50)

    10-128 A4-4查找产品表中平均订购数大于特定值的产品信息 在产品表(products)中查找平均订购数量大于15的产品信息,显示为:产品编号(ProductID),和总订货数量(重命名为sum ...

  6. 笔记-Microsoft SQL Server 2008技术内幕:T-SQL语言基础-02 单表查询

    SELECT子句中的别名 SELECT子句是在FROM.WHERE.GROUP BY,以及HAVING子句后处理的,这意味着对于SELECT子句之前处理的那些子句,在SELECT子句中为表达式分配的别 ...

  7. 数据库1——简单 单表查询(50)

    10-32 查询xsda表中所有女生的记录 select * from xsda where 性别 ='女'; 10-33 查询xscj表中的学号,姓名,计算机三项信息,结果按计算机成绩的降序排列. ...

  8. 【数据库实验】 单表查询

    [例3.19] 查全体学生的姓名及其出生年份. select Sname,2021-Sage from student; [例3.20] 查询全体学生的姓名.出生年份和所在的院系,要求用小写字母表示系 ...

  9. python mysql查表_python进阶(十、mysql:单表查询)

    3.mysql数据库 3.10 单表查询 3.10.1. 简单查询 查询在数据库中使用的频率是最高的:十次查询,一次增删改. 1)建表 2)插入数据 3.10.1.1. 选择字段:select sel ...

最新文章

  1. Podman中如何运行一个 Linux 虚拟机?
  2. Matlab中fft作频谱横纵坐标
  3. Asp.net中的web.config配置
  4. Windows 上配置Docker Desktop 的k8s
  5. 数据分析——朴素贝叶斯原理示意图
  6. linux执行ksh文件,关于linux:KSH shell,它对目录中的文件行进行计数
  7. 线性规划问题求解(Excel、python和手工求解)
  8. 【转】25 个常用 Matplotlib 图的 Python 代码
  9. 【手把手教程】uniapp + vue 从0搭建仿斗鱼虎牙直播App:腾讯云MLVB移动直播实践连麦PK+带货
  10. 开放共享:网商银行的运营探索及技术支撑
  11. 计算机网络名怎么设置,网络ssid怎么设置
  12. 【不可能不好玩】一个我觉得最好玩的游戏!
  13. 【服务器数据恢复】RAID6中3块磁盘离线崩溃的数据恢复案例
  14. mathtype安装报错解决
  15. Deepin系统正版官方下载站
  16. 论文解读:《RELATION:基于结构的药物从头设计的深度生成模型》
  17. 传说中的死机短信,不知是真是假
  18. 中南民族大学计算机科学学院转专业好吗,中南民族大学计算机科学学院
  19. 如何摆脱打工人?注册申请163邮箱?尊享TOM VIP微信办公助手?
  20. 查看文件及内容处理命令(21个命令)

热门文章

  1. 解决 从数据库中读出 的文本中的回车无法在 jsp网页上起作用的问题
  2. 7打开pycharm_Python+pycharm安装、关联教程
  3. 2fsk基于matlab的仿真,基于matlab的2ask、2psk、2fsk的仿真
  4. eureka自我保护时间_Spring Cloud Eureka 自我保护机制
  5. imp 只导表前10条数据_Excel数据规范化10条原则,让你的工作效率快速提升
  6. 如何将代码优雅的放在WORD文档中?
  7. 拆解一个舵机组成的机器人
  8. Magnetism and Earnshaw‘s Theorem
  9. 315MHz 高频射频发射模块
  10. 基于uPC2710T设计信标射频放大电路