MySQL(5)-----DQL语句的基本查询与高级查询
1.DQL语句
DQL:数据查询语言
操作对象:数据库记录
关键词:select
格式:select...from 表名 where 条件 group by 分组字段 having 条件 order by 排序字段 asc|desc
2.DQL查询
2.1 基本查询
[1]查询所有的商品
select * from products;
[2]查询商品名和商品价格
--查看指定的字段
--格式:select 字段名1,字段名2,...,字段名n from 表名;
select pname , price from products ;
[3]查询所有商品都有哪些价格
--去重操作:distinct
--格式:select distinct 字段名1,字段名2,...,字段名n from 表名
select distinct price from products;
[4]将所有商品价格+10元进行显示。(别名)
--方式1:可以在查询的结果之上进行运算,该运算不影响数据库中的内容。
select price + 10 from products ;
---方式2:给列起别名
格式:字段名 [as] 别名,
SQL语句的书写方式大同小异,归类如下:
select price+10 新价格 from products;
select price+10 '新价格' from products;
select price+10 新 价 格 from products;【加空格将报错】
select price+10 '新 价 格' from products;
select price+10 `新 价 格` from products;
2.2 条件查询
[1]查询商品名称为十三香的商品所有信息
select * from products where pname='十三香';
[2]查询商品价格>60元的所有的商品信息
select * from products where price > 60;
[3]查询商品名称中包含“新”的商品
---模糊匹配
---格式:字段名 like "匹配规则";
---匹配内容%
"龙":值为龙
“%龙”:值以龙结尾
“龙%”:值以龙开头
“%龙%”:值包含龙
---匹配个数 like "_ _"占两个位置
select * from products where pname like '%新%';
[4]查询价格为38,68,98的商品
select * from products where price =38 or price = 68 or price = 98;
select * from products where price in (38, 68,98);
2.3 总结
where后的条件写法:
*>,<,=,>=,<=,<>
*like使用占位符_和%,_表示一个字符,%表示任意个字符
select * from products where pname like '%新%';
*in在某个范围中获得值
select * from where products where pid in(2,5,8);
*between较小值 and 较大值
select * from products where pname between 50 and 70;
2.4 高级查询
[1]排序查询:
*查询所有的商品,按价格进行排序(asc---升序,desc---降序);
select * from products order by price;(默认按照升序排列)
select * from products order by price desc;(按照降序排列)
*查询名称有新的商品的信息并按价格降序排序。
select * from products where pname like '%新%' order by price desc;(按照降序排列)
[2]聚合函数:
聚合函数就是对一列数值进行计算,返回值将是计算的结果值。(会忽略null值)
*sum(),avg(),min().count()
*获得所有商品的价格的总和
select sum(price) from products;
*获得商品表中价格的平均数
select avg(price) from products;
四舍五入保留小数位:round(值,保留小数位)
select round(avg(price),2) from products;
*获得商品表中有多少条记录
select count(*) from products;
select count(pid) from products;
[3]分组:使用group by
*根据cno字段分组,分组后统计商品的个数。
select cno,count(*) from products group by cno;
*根据cno分组,分组后统计每组商品的总数量,并且总数量>200;
select cno,sum(pnum) from products group by cno;
select cno,sum(pnum) from products group by cno having sum(pnum) > 200;
注意:
where语句与having语句的区别
1.where是对分组前的数据进行过滤(在聚合前就对记录进行过滤);
having是对分组后的数据进行过滤(对分类后的结果再进行条件的过滤);
2.where后面不能使用聚合函数,但是having可以使用聚合函数。
3.在逻辑允许的情况下,我们尽可能使用where优先过滤记录,这样因为结果集减小,将对聚合的效率大大提高,最后再根据逻辑看是否使用having进行再过滤。
人的一生中,最光辉的一天并非是功成名就那天,而是从悲叹与绝望中产生对人生的挑战,以勇敢迈向意志那天。愿你就像早晨八九点钟的太阳,活力十足,永远年轻。
MySQL(5)-----DQL语句的基本查询与高级查询相关推荐
- MySQL之DQL(数据查询语言)- 表连接查询
目录 一.简介 1.1.男生表 1.2.女生表 二.左连接查询(左外连接) 三.右连接查询(右外连接) 四.内连接查询 五.全连接查询 五.自连接查询 六.子查询 七.伪表查询 学习计划: 一.简介 ...
- mysql属于dql语句的是_4.MySql中的SQL语句(三):DQL
DQL数据查询语言 数据库执行DQL语句不会对数据进行改变,而是让数据库发送结果集给客户端. 查询返回的结果集是一张虚拟表. 查询关键字:SELECT 语法:SELECT列名FROM表名 [WHERE ...
- mysql 最值复杂查询_MySQL高级查询
我们使用SQL查询不能只使用很简单.最基础的SELECT语句查询.如果想从多个表查询比较复杂的信息,就会使用高级查询实现.常见的高级查询包括多表连接查询.内连接查询.外连接查询与组合查询等,今天我们先 ...
- mysql lambda查询_MySQL高级查询和编程基础
学习概述 随着数据库管理信息系统的日益复杂和庞大,软件应用系统对数据库设计.数据存储.数据查询和数据维护等提出了更高的要求.本书主要介绍数据库设计的方法和技术.子查询技术.MySQL编程基础知识和存储 ...
- 《SQL高级应用和数据仓库基础(MySQL版)》学习笔记 ·010【高级查询】
文章目录 一.分组函数(聚合函数) 1.介绍 2.格式 3.常用函数 (1).MIN函数.MAX函数 (2).SUM函数.AVG函数 (3).COUNT函数 4.group by子句 5.having ...
- mysql 层次化查询_SQL高级查询(层次化查询,递归)
SQL 高级查询 层次化查询 层次化结构可以理解为树状数据结构,由节点构成.比如常见的组织结构由一个总经理,多个副总经理,多个部门部长组成.再比如在生产制造中一件产品会有多个子零件组成.举个简单的例子 ...
- mysql多类型查询_MYSQL中的多类型查询及高级查询操作
离散查询 select * from car where price=30 or price=40 or price=50 or price=60; select * from car where p ...
- java高级查询_SQL高级查询(转载)
transact---sql高级查询(下) 5:使用having关键字来筛选结果 6:使用compute和compute by子句 7:使用嵌套查询 8:分布式查询 E:使用having关键字来筛选结 ...
- mysql属于dql语句的是_mysql学习日记——DQL语句
# # DQL:查询语句 select字段列表from表名列表where条件列表group by分组字段having分组之后的条件order by排序 limit 分页限定 基础查询: 1. 多个字段 ...
- mysql中grade字段降序排列_mysql高级查询
[聚合函数] 统计记录的条数 select count(*) from 表名; 求某个字段所有值的总和 select sum(字段名) from 表名; 求某个字段所有值的平均值 select avg ...
最新文章
- 不能交换到解决jenkins用户的问题
- 黄雷:展开数据的翅膀,在更宽广的路上飞驰人生 | 提升之路系列(三)
- php定时爬虫,thinkphp5使用workerman定时器定时爬取站点内容的代码
- leetcode 212. Word Search II | 212. 单词搜索 II(Trie,回溯,DFS)
- 前端HTML5CSS3动画
- git pull不同步_git回退版本,再返回最新分支git pull失败的解决经验
- php create()方法,ThinkPHP中create()方法自动验证实例
- 设置MAC 下 Vim 语法高亮显示
- UCloud基于Linux内核新特性的下一代外网网关设计及相关开源工作
- (8). 使用JPA保存数据【从零开始学Spring Boot】
- 0x3a能否作为c语言常量,C语言编程遇到了宏定义的问题,求解答,万分感谢
- 反激式开关电源设计资料
- Ubuntu下全命令行部署Android模拟器
- C++ 图书馆管理系统
- linux平台基于python语言的MYO手环手势识别开发(二)
- 卫星高度角和方位角的计算
- 【全文翻译】YOLOv4:目标检测的最佳速度和准确性
- 明港镇计算机培训班,平桥区建筑工匠培训班在明港新集村开班
- unity_在canvas中修改text和text到底是什么
- CBM2198A - [2013-06-06]量产工具可用CBM2098_V6007工具解决