mysql查询语句4,MySQL(4):CRUD语句(2)——基本查询

“增删改查”的查询语句。

create table student(

id int,

name varchar(20),

chinese float,

english float,

math float

);

insert into student(id,name,chinese,english,math) values(1,'张小明',89,78,90);

insert into student(id,name,chinese,english,math) values(2,'李进',67,98,56);

insert into student(id,name,chinese,english,math) values(3,'王五',87,78,77);

insert into student(id,name,chinese,english,math) values(4,'李一',88,98,90);

insert into student(id,name,chinese,english,math) values(5,'李来财',82,84,67);

insert into student(id,name,chinese,english,math) values(6,'张进宝',55,85,45);

insert into student(id,name,chinese,english,math) values(7,'黄蓉',75,65,30);

查询语句,一定是重点!

基本select语句

1. 基本语法

SELECT [DISTINCT] *|{column1, column2. column3..} FROM tableName;

select 指定查询哪些列的数据。

column指定列名。

*号代表查询所有列。

From指定查询哪张表。

DISTINCT可选,指显示结果时,是否剔除重复数据

select english from student;

select distinct english from student; -- 自动过滤重复的记录

指定列名

select name, english from student;

2. 在select语句中可使用表达式对查询的列进行运算

select name, english + chinese + english from student; -- 有表达式

select name,  english + chinese + english + 10 from student;

sum怎么办…

sum 好像是把所有行加起来,不是把列加起来……

3. 在select语句中可使用as语句

select name as 姓名, english as 英语, math as 数学 from student;

(甚至可以不加 as)

4. where语句

select * from student where name = '张小明';

select * from student where english > 90;

select * from student where chinese+math+english > 200;

5. where中常用运算法

比较

<> 不等于号

!= 等号

between ... and ... -- 闭区间!开区间呢?

in (范围中) select * from student where math in (90,77);

like 模糊查询

like语句中,% 代表零个或多个任意字符,_ 代表一个字符,例first_name like ‘_a%’;

is null 查询为空 is not null 查询非空 【注意】不能写 = null

逻辑

select * from student where math <= 80;

select * from student where not (math > 90); -- 非

查询英语分数在80-90之间的同学。

select * from student where (english >= 80) and (english <=90);

select * from student where english between 80 and 90;

查询数学分数为89,90,91的同学。

select * from student where math in (89,90,91);

查询所有姓李的学生成绩。

select * from student where name like '李%';

select * from student where name like '李_'; -- (姓李的,且两个字的名字)

查询数学分>80,语文分>80的同学。

select * from student where (math > 80) and (chinese > 80);

6. order by

SELECT column1, column2. column3.. FROM table order by column asc|desc

Order by 指定排序的列,排序的列即可是表中的列名,也可以是select 语句后指定的列名。

asc 升序、desc 降序

ORDER BY 子句应位于SELECT语句的结尾。

对数学成绩排序后输出。

select * from student order by math desc;

select * from student order by math asc;

对总分排序后输出,然后再按从高到低的顺序输出

select name 姓名, (chinese + math + english) 总分 from student order by 总分 desc;

对姓李的学生成绩排序输出

select name 姓名, (chinese + math + english) 总分 from student where name like '李%' order by 总分 asc;

聚合函数

1. count函数

count(列名)返回某一列,行的总数【注意】 返回的是一个数!

统计一个班级共有多少学生?

select count(*) from student;

统计数学成绩大于90的学生有多少个?

select count(*) from student where math >= 90;

统计总分大于250的人数有多少?

select count(*) 总分大于250的人数 from student where (chinese + math + english) > 250;

2. sum函数

sum函数返回满足where条件的行的和【注意】 是从上往下合计! 不是横着加! 对行统计!

select sum(列名){,sum(列名)…} from tablename [WHERE where_definition]    -- 列名的数据类型是数值型

统计一个班级数学总成绩?

select sum(name) 数学总成绩 from student;

统计一个班级语文、英语、数学各科的总成绩

select sum(chinese) 语文总成绩, sum(english) 英语总成绩, sum(math) 数学总成绩 from student;

统计一个班级语文、英语、数学的成绩总和

select sum(chinese + english + math) from student; -- 这样写!

select sum(chinese) + sum(english) + sum(math) from student; -- 这样也可以!

统计一个班级语文成绩平均分

select sum(chinese)/count(*) from student;

注意:对多列求和,“,”号不能少。

3. avg函数

AVG函数返回满足where条件的一列的平均值

求一个班级数学平均分

select avg(math) 数学平均分 from student; -- 注意,如果有一个空值null,会跳过这条记录。

求一个班级总分平均分

select avg(math + chinese + english) from student;

sum函数、avg函数都会忽略掉null?

4. max/min函数

max/min函数返回满足where条件的一列的最大/最小值

求班级最高分和最低分(数值统计)

select max(english+math+chinese) from student;

distinct 剔除重复结果

group by 分类

准备数据。

create table orders(

id int,

product varchar(20),

price float

);

insert into orders(id,product,price) values(1,'电视',900);

insert into orders(id,product,price) values(2,'洗衣机',100);

insert into orders(id,product,price) values(3,'洗衣粉',90);

insert into orders(id,product,price) values(4,'桔子',9);

insert into orders(id,product,price) values(5,'洗衣粉',90);

-- group by 的用法

-- 对订单表中商品归类后,显示每一类商品的总价

SELECT product, SUM(price) FROM orders GROUP BY product;

-- 注意,是对产品分类后的,进行sum。sum参与的是分组后的sum

having 聚合后筛选 -- having 过滤 -- 查询购买了几类商品,并且每类总价大于100的商品 SELECT product, SUM(price) FROM orders GROUP BY product HAVING (SUM(price)>100); -- having 和 where均可实现过滤,但在having可以使用聚合函数,having通常跟在group by后,它作用于组。  -- 顺序:group by … having … order by … -- 一共买了哪些类型的产品 SELECT product FROM orders GROUP BY product;

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/306936.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

requestPermissions读写手机存储权限_泛圈云盘可为企业建立高效安全的云办公在线协同文档存储?...

泛圈企业云盘结合智能手机和无线网络&#xff0c;实现对任何办公地点和办公时间的无缝访问&#xff0c;提高办公效率。它可以连接客户原有的各种IT系统&#xff0c;包括OA、邮件、ERP等各种个人业务系统&#xff0c;使手机也可以用来操作、浏览、管理公司的所有工作事务&#x…

怎么将SVG转成PNG(.NET工具包编写)

序一天&#xff0c;作者在深圳湾吹风时突然想到自己还有 20 多位粉丝&#xff0c;所以决定每周至少要水一篇文章。众所周知&#xff0c;一篇文章要有封面&#xff0c;正痛苦时&#xff0c;.NET 官方网站更新了一大波质量上乘的插图&#xff1b;高兴之余&#xff0c;发觉平台不支…

matlab 数组 冒号,matlab中冒号的用法

转自&#xff1a;https://hi.baidu.com/sunsee/item/9985c91895bd88f8ddeecae3对于A(四行五列)矩阵,A(2:3,1:2:5)是什么意思?问题补充&#xff1a;能解释下为什么是一,三,五列满意回答显示A的第二行与第三行的第一、三、五列。因为矩阵后面如果是圆括号&#xff0c;那么都表示…

ghelper怎么在手机上用_当长时间不用手机玩《崩坏3》、《战双》

崩坏3、战双&#xff0c;虽然是手机游戏&#xff0c;作为一个PC党&#xff0c;我还是热衷于用电脑玩游戏。用电脑玩游戏可以把画质全部开到最大&#xff0c;依旧可以顺畅地进行游戏。手机就不行&#xff0c;即使是苹果&#xff0c;把画质拉满&#xff0c;依旧会有卡顿。特别是崩…

java ee监听器编程,java EE开发之Servlet第四课:监听器(Listener)

1&#xff0e;什么是Listener监听器就像老板的秘书&#xff0c;那个秘书就是活的监听器&#xff0c;时时监听着老板&#xff0c;当老板发生一些事情的时候&#xff0c;秘书就会有相应的措施。比如老板口渴了&#xff0c;秘书就会去端茶&#xff1b;比如老板要提提神&#xff0c…

System.Text.Json中时间格式化

转自&#xff1a;Rayomcnblogs.com/Rayom/p/13967415.html简介.Net Core 3.0开始全新推出了一个名为System.Text.Json的Json解析库&#xff0c;用于序列化和反序列化Json&#xff0c;此库的设计是为了取代Json.Net(Newtonsoft.Json)时间格式化的不足System.Text.Json的优点就不…

windows server 启用 vss_windows服务器常用的安全加固方法

Windows操作系统本身已经提供了多种安全机制&#xff0c;如标识与鉴别、访问控制、用户账户控制、安全审计、文件系统。但是&#xff0c;这并不意味着操作系统就固若金汤。事实上&#xff0c;任何一个Windows版本都或多或少的存在着漏洞&#xff0c;而且在不断的被挖掘出来。Wi…

说说 C# 9 新特性的实际运用

前言你一定会好奇&#xff1a;“老周&#xff0c;你去哪开飞机了&#xff1f;这么久没写博客了。”老周&#xff1a;“我买不起飞机&#xff0c;开了个铁矿&#xff0c;挖了一年半的石头。谁知铁矿垮了&#xff0c;压死了几条蜈蚣&#xff0c;什么也没挖着。”所以&#xff0c;…

thinkpad笔记本散热风扇_十代酷睿笔记本低至2999元 你可以入手了_笔记本新闻

这年头3000元能干什么&#xff1f;买一套化妆品还是一套乐高积木&#xff1f;现在很严肃地告诉你&#xff0c;可以买一台笔记本&#xff0c;而且是搭载英特尔第十代酷睿处理器的轻薄笔记本——联想ThinkPad 翼14 Slim。联想ThinkPad 翼14 Slim轻薄笔记本其搭载了英特尔十代酷睿…

matlab对数据插值增加数据,matlab数据插值与拟合方法

晚上做一个曲线拟合&#xff0c;结果才开始用最小二乘法拟合时&#xff0c;拟合出来的东西太难看了&#xff01;于是尝试用其他方法。经过一番按图索骥&#xff0c;终于发现做曲线拟合的话&#xff0c;采用插值法是比较理想的方法。尤其是样条插值&#xff0c;插完后线条十分光…

BenchmarkDotNet v0.12x新增功能

起因在看.Net 官方博客 .Net 5性能优化 中,发现测试性能的BenchmarkDotNet版本已经是v0.12.1,然后去看BenchmarkDotNet文档,发现还是有不少新的特性.v0.12.0支持多个运行时(API改进),增加对.Net 5支持支持DotNet创建BenchmarkDotNet项目(项目模版)增加NativeMemoryProfiler(目前…

邮箱通知php,PHPMailer 发送邮件(含详细介绍及使用方法说明)

上篇文章PHP mail()方法发送邮件部分邮箱无法收到邮件问题提到要介绍一下phpmailer这款免费开源的php 邮件程序&#xff0c;下面我们来看看吧&#xff0c;以下资料全部来自phpmailer官方网站&#xff1a;PHPMailer 也是一个功能强大的邮件类PHPMailer的主要功能特点&#xff1a…

centos amd双显卡_PCIe4.0和PCIe3.0对显卡性能差别大吗?

众所周知&#xff0c;AMD X570、B550主板&#xff0c;包括RX3000系列显卡&#xff0c;率先支持了PCIe 4.0协议&#xff0c;高达32GB/s带宽&#xff0c;相比现在的PCIe3.0带宽足足翻了一倍&#xff0c;也是AMD新平台一大卖点&#xff0c;然而intel却无动于衷&#xff0c;并各种表…

我画着图,FluentAPI 她自己就生成了

在 Newbe.ObjectVistor 0.3 版本中我们非常兴奋的引入了一个紧张刺激的新特性&#xff1a;使用状态图来生成任意给定的 FluentAPI 设计。开篇摘要 在非常多优秀的框架中都存在一部分 FluentAPI 的设计。这种 API 设计更加符合人类自言语言描述。使得代码更加具备可读性。在 New…

python的基础知识可以应用到哪方面-Python基础知识

python基础 python的诞生 2002年&#xff0c;python 2.x 2008年&#xff0c;python 3.x python的命名 马戏团的名称 python简介 简单、易学 持快速开发. 跨平台. 开源. 可扩展. 可嵌入. 大量的标准库和活跃的交流群. 可用于各种各样的开发. 应用领域 系统编程 提供API&#xff…

java爬虫基础知识,Java网络爬虫基础知识

引言Java 网络爬虫具备很好的扩展性可伸缩性&#xff0c;其是目前搜索引擎开发的重要组成部分。例如&#xff0c;著名的网络爬虫工具 Nutch 便是采使用 Java 开发&#xff0c;该工具以 Apache Hadoop 数据结构为依托&#xff0c;提供了良好的批解决支持。Java 网络爬虫涉及到 J…

.NET5都来了,你还不知道怎么部署到linux?最全部署方案,总有一款适合你

随着2020进入4季度&#xff0c;.NET5正式版也已经与大家见面了。不过&#xff0c;尽管 .NET Core发布已经有四五年的时间&#xff0c;但到目前为止&#xff0c;依旧有很多.NET开发者在坚守者.NET4&#xff0c;原因不尽相同&#xff0c;但最大的问题可能还是不熟悉Linux&#xf…

好用的平板电脑_平板选择华为M6,这里有几点建议

大家好&#xff0c;我是师兄。平板几乎已经成大学生生活中必备的物品之一了&#xff0c;现在的学生实在是太会享受了。作为华为M6的重度使用用户&#xff0c;在这里给大家在购买华为平板M6时提几点建议。1.质量挺好的&#xff0c;品制有保证购买华为平板M6已经半年了&#xff0…

读取oracle bfile字段,ORACLE中BFILE字段的使用研究_oracle

因为做项目&#xff0c;需要使用BFILE字段存储图像文件&#xff0c;所以进行了一些研究。bfile字段实际的文件存储在文件系统中,字段中存储的是文件定位指针.bfile对oracle来说是只读的,也不参与事务性控制和数据恢复bfile的基本操作如下&#xff1a;1.先在oracle数据库中下面我…

客户的一个紧急bug,我用了两种方式进行 C# 反编译修改源码

一&#xff1a;背景 1. 讲故事周五下午运营反馈了一个紧急bug&#xff0c;说客户那边一个信息列表打不开&#xff0c;急需解决&#xff0c;附带的日志文件也发过来了&#xff0c;看了下日志大概是这样的&#xff1a;日期:2020-11-13 12:25:45,923 线程ID:[3924] 日志级别:INFO …