SQL学习(三)之子句和函数
函数
COUNT()/计数、MIN()/最小值、MAX()/最大值、AVG()/平均值、SUM()/和
子句
子句是语句的一部分包括WHERE、GROUP、ORDER、LIMIT
WHERE:条件
GROUP:合并(聚类,其实就是合并相同的)
ORDER:排序
LIMIT:限制(限制输出)
WHERE
WHERE name='blue'
WHERE age>18
WHERE age<=18
WHERE age>=18 AND score<60
WHERE cach>100 OR score>10000
删-DELETE
DELETE FROM 表 WHERE 条件; 删除表中指定的一条数据
DELETE FROM `user_table` WHERE ID='${res.query.id}'; 根据指定的id删除指定一条数据的所有字段
注意:没有办法只删除一个字段,只能是删除一行
改-UPDATE
UPDATE 表 SET 字段=值,字段=值,...WHERE 条件;
UPDATE `article_data` SET `n_like=n_like+1` WHERE ID=xxx; 根据指定的id更新指定数据的n_like字段
查-SELECT
SELECT * FROM 表 WHERE 条件;
SELECT * FROM `user_table` WHERE ID='${res.query.id}'; 根据指定的id查询指定数据的所有字段
注意:不加WHERE就是操作整张表,除了INSERT都可以用WHERE
GROUP
GROUP BY class
- GROUP BY name
查-SELECT
SELECT * FROM 表 GROUP BY 字段;
SELECT * FROM student_table GROUP BY class; 表示以class为依据进行分组,只要是class相同的就一定会合并起来,相同的class只留一条数据,做了一个去重
SELECT class,COUNT(class) FROM student_table GROUP BY class; 只查询class字段,以class为依据进行分组,并对相同的class进行计数
SELECT class,AVG(score) FROM student_table GROUP BY class; 查询得到每个班级平均值
SELECT class,MAX(score),MIN(score) FROM student_table GROUP BY class; 查询得到每个班级最高最低分
SELECT name,SUM(price) FROM sales_table GROUP BY name; 查询得到每个人的消费总额
注意:GROUP单独用没有什么意义我们应该配合函数来用(COUNT/计数、MIN/最小值、MAX/最大值、AVG/平均值、SUM/和)
ORDER
ORDER BY age ASC
ORDER BY age DESC
- ORDER BY SUM(price)
ASC-升序(从小到大)/DESC-降序(从大到小)
查-SELECT
SELECT * FROM 表 ORDER BY 字段 ASC; 单一条件排序
SELECT * FROM 表 ORDER BY 字段 ASC ,字段 DESC; 多条件排序
SELECT * FROM student_table ORDER BY price DESC; 查询表中数据并以price为准降序排列
SELECT * FROM 表 ORDER BY price ASC, sales DESC; 查询表中数据并以price为准升序排列,price相同以sales为准降序排列
SELECT name,SUM(price) FROM sales_table GROUP BY name ORDER BY SUM(price) DESC; 查询得到每个人的消费总额按照降序排列
SELECT name,SUM(price) FROM sales_table GROUP BY name ORDER BY SUM(price) ASC; 查询得到每个人的消费总额按照升序排列
LIMIT
LIMIT 10; 前10条
LIMIT 5,8; 从5开始,要8个
查-SELECT
SELECT * FROM 表 LIMIT 数字;
SELECT * FROM student_table LIMIT 2; 查询表中的前两条数据
分页
方法一:所有数据给前端,前端来控制每页数据(数据量大不靠谱)
方法二:后台只给一丁点数据,后端来控制每页数据(实际上就是在数据库里就限制)
使用方法二如果想要做分页,每页20条数据:
第1页 limit 0,20 0~19
第2页 limit 20,20 20~39
第3页 limit 40,20
第n页 limit (n-1)*20,20
子句之间的顺序
子句之间是有顺序的:WHERE GROUP ORDER LIMIT
注释:没有的可以不写
实例:
SELECT class,COUNT(class) FROM student_table
WHERE score>60
GROUP BY class
ORDER BY COUNT(class) DESC
LIMIT 2;
SQL学习(三)之子句和函数的更多相关文章
- SQL学习(三) 复杂查询
我们本节考察的数据库如下所示: 3.1 创建出满足下述三个条件的视图(视图名称为 ViewPractice5_1).使用 product(商品)表作为参照表,假设表中包含初始状态的 8 行数据. 条件 ...
- 【SQL学习笔记】排名开窗函数,聚合开窗函数(Over by)
处理一些分组后,该组按照某列排序后 ,取其中某条完整数据的问题. 或 按照其中不同列分组后的聚合 比如 sum,avg之类. MSDN上语法: Ranking Window Functions < ...
- SQL学习之SELECT子句顺序
下面来总计下之前的随笔中所说过的所有的SELECT子句的顺序. 子句 说明 是否必须使用 SELECT 要返回的列或者表达式 ...
- React 学习(三) ---- state 和 事件处理函数
在上两节中,我们讲述了props, 组件使用props进行渲染,但是这是一次性的, props渲染完成之后就不做任何事情了,但是现实中却不是这样的,当我们点击购物车上的加减按钮时,数量会自动加1或减1 ...
- python学习 (三十) python的函数
1: 函数参数默认值 def method1(p1 = , p2 = ): // 函数有两个参数,并且都有默认值 return p1 + p2 print(method1()) print(meth ...
- python学习三十五天函数递归的用法
python函数递归就是自己调用自己,无限循环,但是python限制了调用的次数1000次,就会终止,递归用在栏目分类,采集程序比较多,下面简单说函数递归用法和实例 1,函数递归用法 def func ...
- python学习三十四天函数高阶函数定义及用法
python函数高阶函数是把函数当成一个变量,传递给函数作为参数,或者函数的返回值里面有函数,都称为高阶函数, 1,把函数作为参数传递 def dac(x,y): return x+y def tes ...
- SQL学习(时间,存储过程,触发器)
SQL学习 几个操作时间的函数 --datapart 获取时间中的年月日时分秒等部分 select DATEPART(year,current_timestamp); select DATEPART( ...
- Sql Server 三个很有用的函数
好久没有写有关SqlServer 数据库方面技术的文章了,正好今天遇到了一个问题,我就把这个当做一个练习记录下来.今天遇到一个麻烦事,详情如下:公司买了一个系统,在这个系统里面有一个“充值卡”的功能, ...
- SQL夯实基础(三):聚合函数详解
一.GROUP BY Having 聊聚合函数,首先肯定要弄清楚group by 和having 的用法. SELECT id, COUNT(course) as numcourse, AVG(sc ...
随机推荐
- HttpClient两种调用方式
一.参数字符串 /** * HttpClient请求接口 * @return 成功:音频字节 失败:null */ public static byte[] requestBaiduAudio(Str ...
- Python中异常和JSON读写数据
异常可以防止出现一些不友好的信息返回给用户,有助于提升程序的可用性,在java中通过try ... catch ... finally来处理异常,在Python中通过try ... except .. ...
- 改变HTML样式
HTML DOM 允许 JavaScript 改变 HTML 元素的样式.如何改变 HTML 元素的样式呢? 语法: Object.style.property=new style; 注意:Objec ...
- SQL Server分页的存储过程写法以及性能比较
------创建数据库data_Test ----- create database data_Test GO use data_Test GO create table tb_TestTable - ...
- 溢出overflow: hidden
如果要防止内容把div容器或者表格撑大,可以在CSS中设置一.overflow: hidden; 表示如果内容超出容器大小,就把超出部分隐藏(相当于切掉)二.overflow: scroll; 这个表 ...
- (转)js控制窗口失去焦点(包括屏蔽Alt+Tab键切换页面)
本章内容转自:http://www.cnblogs.com/BoKeYuanVinson/articles/3360954.html 转载自网络贴吧: 页面脚本是无法截获alt键的,不过可以变通一下, ...
- LoadRunner脚本编写之一
LoadRunner脚本编写之一 性能测试工程师要懂代码么?答案是必须的.好多测试员认为在loadrunner中编写脚本很难很牛X ,主要是大多测试人员并未做过开发工作,大学的那点程序基础也忘记的差不 ...
- Python进阶学习之特殊方法实例详析
Python进阶学习之特殊方法实例详析 最近在学习python,学习到了一个之前没接触过的--特殊方法. 什么是特殊方法?当我们在设计一个类的时候,python中有一个用于初始化的方法$__init_ ...
- 【HANA系列】SAP HANA SQL获取某字符串的位置
公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[HANA系列]SAP HANA SQL获取某字 ...
- IntelliJ IDEA 2018.2激活
IntelliJ IDEA 2018.2激活 下载补丁 下载补丁JetbrainsIdesCrack-4.2.jar 下载链接 修改文件 将文件JetbrainsIdesCrack-4.2.jar放在 ...