数据库 高阶语句

目录

数据库 高阶语句

使用select 语句,用order by来对进行排序

区间判断查询和去重查询

如何对结果进行分组查询group by语句

limit 限制输出的结果记录,查看表中的指定行

通配符

设置别名:alias  简写就是 as


使用select 语句,用order by来对进行排序

数据库的权限一般是很小的,我们在工作使用最多的场景是查id int(4) primary key,
name varchar(10) not null,
score decimal(5,2),
address varchar(20),
sex char(3) not NULL
);select * from info;使用select 语句,用order by来对进行排序
ASC 
#升序排列,默认就是升序,可以不加
desc
#降序排列,需要添加格式 举例
select id,name from info order by id;   
#升序查看id那一列select id,name from info order by id desc;  
#降序查看id那一列select id,name,score from info order by name desc;   
#最好用数据排序比较合适,但不绝对order by 结合where 条件过滤select name,score from info where address='南京西路' order by score desc;
#根据名字,成绩查询地址那一列是南京西路,降序过滤,只有第一个参数出现相同值时,第二个才会按照要求排序#举例:查id姓名成绩,根据性别都是女,按照id进行降序排列
select id,name,score from info where sex='女' order by id desc;

区间判断查询和去重查询

AND   /   or
#且      或select * from info where score > 70 and score <=90;
#例  查询score 列 大于70 且 小于等于90 的数据举例
#大于80或者小于90
select * from info where score > 80 AND score <90;
#查询score列大于80且小于90的数据
select * from info where score > 80 or score <90;
#大于80或小于90嵌套条件select * from info where score > 70 and ( score >75 and score <90 );
#大于70且大于75且小于90
select * from info where score > 70 or ( score >75 and score <90 );
#大于70或大于75且小于90#嵌套条件,满足性别是男,然后进行筛选成绩 80-90
select * from info where sex='男' and (score >80 and score <90);#去重查询
select distinct address from info;
select distinct sex from info;#根据地址address去重,然后过滤成绩=90且性别是男
select distinct address from info where sex='男' and score =90;

如何对结果进行分组查询group by语句

对结果进行分组查询group by语句,一般是结合聚合函数一块使用
count() 统计有多少行
sum()列的值相加,求和
avg() 列的值求平均数
max() 过滤出列的最大值
min() 过滤出列的最小值
分组的时候可以按照一个字段,也可以按照多个字段对结果进项分组处理
select * from info;举例格式
select count(name),sex from info group by sex;
#统计name 列 对结果进行分组查询#根据where 条件删选,score >= 80
select count(name),sex,score from info where score >= 80 group by sex;#求和;以地址为分组,对score求和
select sum(score),address from info group by address;#算出男生女生平均成绩
select avg(score),sex from info group by sex;#分别求出男生组和女生组的成绩最低的姓名
select min(score),sex from info group by sex;#group by 实现条件过滤,后面跟上having语句实现条件过滤
select avg(score),address from info group by address having avg(score) >按照地址分组,求成绩的平均值,然后>50,按照id的降序排列
select avg(score),address,id from info group by  address having avg(score) >50 order by id desc;select avg(score),address,id from info group by  address having avg(score) >50 order by id desc;
统计name 的行数,计算出学生的个数把成绩也查出来按照统计出来的学生个数升序排列按照地址分组,学生的成绩大于等于70分select count(name),score,address from info group by address having score >= 70 order by count(name);
按照性别分组,求出男生和女生的最大成绩,最大成绩是否超过75分,满足条件的过滤出来select max(score),sex from info group by sex having max(score) > 75;
使用聚合函数必须要加group by 要选用有多个重复值的列,group by的过滤条件要用having语句过滤

limit 限制输出的结果记录,查看表中的指定行

select * from info;select * from info limit 3; 
#只看前三行#看2行到5行
select * from info limit 1,4;#看6到7行
select * from info limit 5,3;select * from info order by id desc limit 3;  
#快速查询后几行,将最后几行降序方式到前几行,再用limit只查看前三行
通配符
#通配符主要用于替换字符串中的部分字符,通过部分字符的匹配向相关的结果查询出来
#通配符和like一起使用,使用where语句一起来完成查询
# %  表示0个,1个或者多个
# _  表示单个字符select * from info where address like '山%';  
#以山为结尾select * from info where address like '%路';  
#以路为结尾select * from info where address like '%山%'; 
#中间有山select * from info where name like '杨_婷';select * from info where name like '%婷';select * from info where address like '山%__';  
#通配符可以结合在一块使用
设置别名:alias  简写就是 as
#设置别名的目的是在mysql查询时,表的名字或者字段名太长,可以使用别名替代,方便书写,也可以增加可读性
#可以给表起别名,但是要注意别名不能和数据库其他的表名互相冲突
#列的别名在结果中可以显示,但是表的别名在结果中没有显示,只能用于查询格式 举例
select name as 姓名, score as 成绩 from info;select name 姓名,score 成绩 from info; 
#可以不加ascreate table test as select * from info;
#创建了一个表,叫test ,test的数据结构完整的从info复制过来,但是约束不会被复制desc test;
#使用as复制表,约束不会被复制过来。create table test1 as select * from info where score >=60;
#创建一个表,通过as复制info表,但只有score那列 大于等于60 才会被复制#以这种方式创建的表主键在不在,外键在不在,索引在不在?
#都不在
#通过as创建,主键没了,外键没了,外键在不在,索引在不在?
#都不在

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

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

相关文章

矩阵键盘独立接口设计(Keil+Proteus)

前言 实验&#xff1a;通过4*4的矩阵键盘&#xff0c;按下某个按钮之后会在数码管上面显示对应的键号。&#xff08;0~F&#xff09; 基础操作参考这篇博客&#xff1a; LED数码管的静态显示与动态显示&#xff08;KeilProteus&#xff09;-CSDN博客https://blog.csdn.net/w…

MFC-TCP网络编程服务端-Socket

目录 1、通过Socket建立服务端&#xff1a; 2、UI设计&#xff1a; 3、代码的实现&#xff1a; &#xff08;1&#xff09;、CListenSocket类 &#xff08;2&#xff09;、CConnectSocket类 &#xff08;3&#xff09;、CTcpServerDlg类 1、通过Socket建立服务端&#xff…

3.5、Linux:命令行git的使用

个人主页&#xff1a;Lei宝啊 愿所有美好如期而遇 在Linux Centos7.6下安装git yum -y install git 注册一个gitee账号 进去注册就好&#xff0c;记住自己的用户名和密码。 创建一个仓库 点击复制&#xff0c;接着就可以在Linux上使用了 git clone git clone 刚才复制的地…

机器人控制——C++ HSM状态机基础知识

本章将向您介绍使用HSM的基本知识。为了简单起见&#xff0c;我们将在这里学习如何编写单层次&#xff08;也称为平面&#xff09;状态机&#xff0c;并在下一章中介绍层次状态机。 让我们从我们可以编写的最简单的状态机开始。 // simplest_state_machine.cpp#include "…

茶楼计时茶室时钟计费系统,佳易王共享茶室收银计时收费管理系统软件下载

茶楼计时茶室时钟计费系统&#xff0c;佳易王共享茶室收银计时收费管理系统软件下载 软件功能&#xff1a; 1、计时计费功能&#xff1a;可以按单价计费&#xff0c;可以按时间段计费。时间显示直观&#xff0c;每个桌子用时一目了然。每个桌子价格可以设置相同也可以不相同。…

kubernetes资源监控

目录 一、资源限制 1、limitrange 2、ResourceQuota 二、metrics-server 三、图形化监控和代码行监控 1、dashboard 2、k9s 四、hpa 一、资源限制 Kubernetes采用request和limit两种限制类型来对资源进行分配。request(资源需求)&#xff1a;即运行Pod的节点必须满足运…

关于卷积神经网络的填充(padding)

认识填充 &#xff08;padding&#xff09; 随着卷积层数的加深&#xff0c;输出进一步缩小&#xff0c;那么最终会导致输出很快就只剩下1∗1的数组&#xff0c;这也就没办法继续计算了&#xff0c;所以提出了填充的方法来方便网络的进一步加深。 其实填充的原因有两点&#xf…

JavaWeb Day05 前后端请求响应与分层解耦

目录 一、请求与响应 &#xff08;一&#xff09;请求的参数接收 ①数组参数 ②集合参数 ③日期参数 ④json参数 ⑤路径参数 总结 &#xff08;二&#xff09;响应 ①简单文本text ②数组 ③列表 ④同一响应数据格式 ⑤总结 二、三层架构与分层解耦 &#xff0…

宋浩高等数学笔记(一)函数与极限

b站宋浩老师的高等数学网课&#xff0c;全套笔记已记完&#xff0c;不定期复习并发布更新。 章节顺序与同济大学第七版教材所一致。 目录 1.1映射与函数 1.2数列的极限 1.3函数的极限 1.4无穷小和无穷大 1.5极限运算准则 1.6极限存在准则and两个重要极限 1.7无穷小 1…

【数组】【快慢指针】Leetcode 27 移除元素

【数组】【快慢指针】Leetcode 27 移除元素 解法1 ---------------&#x1f388;&#x1f388;题目链接&#x1f388;&#x1f388;------------------- 解法1 时间复杂度O(N) 空间复杂度O(1) class Solution {public int removeElement(int[] nums, int val) {// 快慢指针…

【UE4】UE编辑器乱码问题

环境&#xff1a;UE4.27、vs2019 如何解决 问题原因&#xff0c;UE的编码默认是UTF-8&#xff0c;VS的默认编码是GBK 通过"高级保存选项" 直接修改VS的 .h头文件 的 编码 为 UTF-8 步骤1. 步骤2. 修改编码后&#xff0c;从新编译&#xff0c;然后就可以解决编辑器…

在MacBook上实现免费的PDF文件编辑

之前我想对PDF文件进行简单处理&#xff08;比如删页面、添空白页、调整页面顺序&#xff09;&#xff0c;要么是开wps会员【花钱贵】&#xff0c;下载&#xff08;盗版&#xff09;Adobe Acrobat【macOS不好下载】&#xff0c;要么用福昕阅览器登陆学生账号&#xff08;学校买…