数据库基础 (六)单表查询进阶
通过前面的多篇博文,我们已经可以进行对数据库的基本操作了,但是数据库是远远不止这些的,接下来我们将会进入更深层次的数据库学习,勤学苦练才能有所得。
下面将介绍数据库的重要查询方式
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
数据库基础 (六)单表查询进阶相关推荐
- MySQL数据库-DQL(单表查询)
单表查询 数据准备 查询语法 查询全部 条件查询 (where) 查询条件分类 条件查询的语法 聚合函数查询 聚合函数介绍 聚合函数分类 聚合函数语法 案例学习 排序查询 (order by) 注意 ...
- 数据库开发——MySQL——单表查询
一.单表查询的语法 SELECT 字段1,字段2... FROM 表名WHERE 条件GROUP BY fieldHAVING 筛选ORDER BY fieldLIMIT 限制条数 二.关键字的执行优 ...
- 数据库——数据操作——单表查询(9)
单表查询 1.语法 SELECT 字段1,字段2... FROM 表名WHERE 条件GROUP BY fieldHAVING 筛选ORDER BY fieldLIMIT 限制条数 2.关键字的执行优 ...
- 数据库语句之单表查询语句
单表查询 查询语句基本格式 SELECT <查询列> [FROM <数据源>] [WHERE <行条件表达式>] [GROUP BY <分组依据>] [ ...
- 数据库2——简单 单表查询(50)
10-128 A4-4查找产品表中平均订购数大于特定值的产品信息 在产品表(products)中查找平均订购数量大于15的产品信息,显示为:产品编号(ProductID),和总订货数量(重命名为sum ...
- 笔记-Microsoft SQL Server 2008技术内幕:T-SQL语言基础-02 单表查询
SELECT子句中的别名 SELECT子句是在FROM.WHERE.GROUP BY,以及HAVING子句后处理的,这意味着对于SELECT子句之前处理的那些子句,在SELECT子句中为表达式分配的别 ...
- 数据库1——简单 单表查询(50)
10-32 查询xsda表中所有女生的记录 select * from xsda where 性别 ='女'; 10-33 查询xscj表中的学号,姓名,计算机三项信息,结果按计算机成绩的降序排列. ...
- 【数据库实验】 单表查询
[例3.19] 查全体学生的姓名及其出生年份. select Sname,2021-Sage from student; [例3.20] 查询全体学生的姓名.出生年份和所在的院系,要求用小写字母表示系 ...
- python mysql查表_python进阶(十、mysql:单表查询)
3.mysql数据库 3.10 单表查询 3.10.1. 简单查询 查询在数据库中使用的频率是最高的:十次查询,一次增删改. 1)建表 2)插入数据 3.10.1.1. 选择字段:select sel ...
最新文章
- Podman中如何运行一个 Linux 虚拟机?
- Matlab中fft作频谱横纵坐标
- Asp.net中的web.config配置
- Windows 上配置Docker Desktop 的k8s
- 数据分析——朴素贝叶斯原理示意图
- linux执行ksh文件,关于linux:KSH shell,它对目录中的文件行进行计数
- 线性规划问题求解(Excel、python和手工求解)
- 【转】25 个常用 Matplotlib 图的 Python 代码
- 【手把手教程】uniapp + vue 从0搭建仿斗鱼虎牙直播App:腾讯云MLVB移动直播实践连麦PK+带货
- 开放共享:网商银行的运营探索及技术支撑
- 计算机网络名怎么设置,网络ssid怎么设置
- 【不可能不好玩】一个我觉得最好玩的游戏!
- 【服务器数据恢复】RAID6中3块磁盘离线崩溃的数据恢复案例
- mathtype安装报错解决
- Deepin系统正版官方下载站
- 论文解读:《RELATION:基于结构的药物从头设计的深度生成模型》
- 传说中的死机短信,不知是真是假
- 中南民族大学计算机科学学院转专业好吗,中南民族大学计算机科学学院
- 如何摆脱打工人?注册申请163邮箱?尊享TOM VIP微信办公助手?
- 查看文件及内容处理命令(21个命令)
热门文章
- 解决 从数据库中读出 的文本中的回车无法在 jsp网页上起作用的问题
- 7打开pycharm_Python+pycharm安装、关联教程
- 2fsk基于matlab的仿真,基于matlab的2ask、2psk、2fsk的仿真
- eureka自我保护时间_Spring Cloud Eureka 自我保护机制
- imp 只导表前10条数据_Excel数据规范化10条原则,让你的工作效率快速提升
- 如何将代码优雅的放在WORD文档中?
- 拆解一个舵机组成的机器人
- Magnetism and Earnshaw‘s Theorem
- 315MHz 高频射频发射模块
- 基于uPC2710T设计信标射频放大电路