当前位置:网站首页>【SQL刷题】Day3----SQL必会的常用函数专项练习
【SQL刷题】Day3----SQL必会的常用函数专项练习
2022-08-10 21:05:00 【跳楼梯企鹅】
博主昵称:跳楼梯企鹅
博主主页面链接:博主主页传送门博主专栏页面连接:专栏传送门--网路安全技术
创作初心:本博客的初心为与技术朋友们相互交流,每个人的技术都存在短板,博主也是一样,虚心求教,希望各位技术友给予指导。
博主座右铭:发现光,追随光,成为光,散发光;
博主研究方向:渗透测试、机器学习 ;
博主寄语:感谢各位技术友的支持,您的支持就是我前进的动力 ;学习网站跳转链接:点击这里来和博主一起学习吧
目录
一、 MySQL必会的常用函数
1.MySQL数据库特点
官方定义:
MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一。
MySQL是一种关系型数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。
MySQL所使用的 SQL 语言是用于访问数据库的最常用标准化语言。MySQL 软件采用了双授权政策,分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型和大型网站的开发都选择 MySQL 作为网站数据库。
特点:
(1)功能强大
MySQL 中提供了多种数据库存储引擎,各引擎各有所长,适用于不同的应用场合,用户可以选择最合适的引擎以得到最高性能,可以处理每天访问量超过数亿的高强度的搜索 Web 站点。MySQL5 支持事务、视图、存储过程、触发器等。
(2)支持跨平台
MySQL 支持至少 20 种以上的开发平台,包括 Linux、Windows、FreeBSD 、IBMAIX、AIX、FreeBSD 等。这使得在任何平台下编写的程序都可以进行移植,而不需要对程序做任何的修改。
(3)运行速度快
高速是 MySQL 的显著特性。在 MySQL 中,使用了极快的 B 树磁盘表(MyISAM)和索引压缩;通过使用优化的单扫描多连接,能够极快地实现连接;SQL 函数使用高度优化的类库实现,运行速度极快。
(4)支持面向对象
PHP 支持混合编程方式。编程方式可分为纯粹面向对象、纯粹面向过程、面句对象与面向过程混合 3 种方式。
(5)安全性高
灵活和安全的权限与密码系统,允许基本主机的验证。连接到服务器时,所有的密码传输均采用加密形式,从而保证了密码的安全。
(6)成本低
MySQL 数据库开放源代码且无版权制约,是一种完全免费的产品,用户可以直接通过网络下载,自主性及使用成本低。体积小,安装方便。历史悠久,用户使用活跃,遇到问题可以寻求帮助,易于维护。
(7)支持各种开发语言
MySQL 为各种流行的程序设计语言提供支持,为它们提供了很多的 API 函数,包括 PHP、ASP.NET、Java、Eiffel、Python、Ruby、Tcl、C、C++、Perl 语言等。
(8)数据库存储容量大
MySQL 数据库的最大有效表尺寸通常是由操作系统对文件大小的限制决定的,而不是由 MySQL 内部限制决定的。InnoDB 存储引擎将 InnoDB 表保存在一个表空间内,该表空间可由数个文件创建,表空间的最大容量为 64TB,可以轻松处理拥有上千万条记录的大型数据库。
(9)支持强大的内置函数
PHP 中提供了大量内置函数,几乎涵盖了 Web 应用开发中的所有功能。它内置了数据库连接、文件上传等功能,MySQL 支持大量的扩展库,如 MySQLi 等,可以为快速开发 Web 应用提供便利。
2.常用函数
(1)数字函数
(2)聚合函数
(3)字符串函数
(4)日期函数
(5)加密函数
(6)控制流函数
(7)格式化函数
(8)类型转化函数
(9)系统信息函数
(10)开窗函数
以上一共有十种常用函数,我们这次介绍其中的5种最常用
二、专项练习
1.数字函数
(1)函数
序号 | 函数 | 含义 |
1 |
|
|
2 |
|
|
3 |
|
|
4 |
|
|
5 |
|
|
6 |
|
|
7 |
|
|
8 |
|
|
9 |
|
|
10 |
|
|
11 |
|
|
12 |
|
|
13 |
|
|
14 |
|
|
15 |
|
|
16 |
|
|
(2)刷题
题目:
代码:
SELECT
IF(age < 25 OR age IS NULL, "25岁以下", "25岁及以上") AS age_cut,
COUNT(id) AS num
FROM
user_profile
GROUP BY
age_cut
运行结果:
2.字符串函数
(1)函数
序号 | 函数 | 含义 |
1 |
|
|
2 |
|
|
3 |
|
|
4 |
|
|
5 |
|
|
6 |
|
|
7 |
|
|
8 |
|
|
9 |
|
|
10 |
|
|
11 |
|
|
12 |
|
|
13 |
|
|
14 |
|
|
15 |
|
|
16 |
|
|
17 |
|
|
18 |
|
|
19 |
|
|
(2)刷题
题目:
代码:
SELECT device_id,gender,
case
when age>=25 then '25岁及以上'
when age between 20 and 24 then '20-24岁'
when age<24 then '20岁以下'
else '其他'
end
AS age_cut
FROM user_profile
运行结果:
3.时间函数
(1)函数
序号 | 函数 | 含义 |
1 |
|
|
2 |
|
|
3 |
|
|
4 |
|
|
5 |
|
|
6 |
|
|
7 |
|
|
8 |
|
|
9 |
|
|
10 |
|
|
11 |
|
|
12 |
|
|
13 |
|
|
14 |
|
|
15 |
|
|
16 |
|
|
17 |
|
|
18 |
|
|
(2)刷题
题目1:
代码:
select
day(date) as day,
count(question_id) as question_cnt
from question_practice_detail
where date like '2021-08%'
group by day(date);
运行截图:
题目2:
代码:
select avg(if(b.device_id is not null,1,0)) as avg_ret
from
(select distinct device_id,date
from question_practice_detail
)a
left join
(
select distinct device_id,date_sub(date,interval 1 day) as date
from question_practice_detail
)b
on a.device_id = b.device_id and a.date = b.date
运行结果:
4.系统函数
(1)函数
序号 | 函数 | 含义 |
1 |
|
|
2 |
|
|
3 |
|
|
4 |
|
|
5 |
|
|
6 |
|
|
5.聚合函数
(1)函数
序号 | 函数 | 含义 |
1 |
|
|
2 |
|
|
3 |
|
|
4 |
|
|
5 |
|
|
6 |
|
|
(2)刷题
题目:
代码:
select a.university,count(b.question_id)/count(distinct(b.device_id)) as avg_answer_cnt from user_profile as a
inner join question_practice_detail as b on a.device_id =b.device_id
group by a.university
运行结果:
6.窗口函数
(1)函数
序号 | 函数 | 含义 |
1 |
|
|
2 |
|
|
3 |
|
|
4 |
|
|
5 |
|
|
6 |
|
|
(2)刷题
题目:
代码:
Select device_id,
university,
gpa
From (
Select device_id,
university,
gpa,
row_number() over(partition by university order by gpa) as rk
From user_profile
)a
where rk = 1
运行截图:
三、小结
学习刷题第三天,一起来学习进步吧
点击右边链接牛客-刷题
边栏推荐
- In 2021 China industrial Internet security competition (competition) in fujian province and the first industry of fujian province Internet innovation competition
- 我的世界整合包 云服务器搭建方法(ECS)
- 面向未来的 IT 基础设施管理架构——融合云(Unified IaaS)
- 卡片盒笔记法的操作步骤
- Uniapp编译后小程序的代码反编译一些思路
- wget编译升级故障解决
- 第四届红帽杯网络安全大赛
- 使用SylixOS虚拟串口,实现系统串口自由
- 实施MES管理系统前,这三个问题要考虑好
- 每次打开chrome会跳出What's new
猜你喜欢
【golang map】 深入了解map内部存储协议
TCL:事务的特点,语法,测试例——《mysql 从入门到内卷再到入土》
【Windows】你不能访问此共享文件夹,因为你组织的安全策略阻止未经身份验证的来宾访问,这些策略可帮助保护你的电脑
组合导航精度分析
面向未来的 IT 基础设施管理架构——融合云(Unified IaaS)
Date picker component (restrict year to set only displayed months)
Live Classroom System 09--Tencent Cloud VOD Management Module (1)
使用SylixOS虚拟串口,实现系统串口自由
ES6中的for...in/of的使用
日期选择器组件(限制年份 设定仅展示的月份)
随机推荐
用汇编带你看Golang里到底有没有值类型、引用类型
How to submit a PR?【OpenHarmony Growth Plan】【OpenHarmony Open Source Community】
智能方案设计——智能跳绳方案
Date picker component (restrict year to set only displayed months)
Live Classroom System 09--Tencent Cloud VOD Management Module (1)
CGO 初步认知和基本数据类型转换
Web Reverse Lilac Garden
Future-oriented IT infrastructure management architecture - Unified IaaS
查询:复杂查询的语法和使用例——《mysql 从入门到内卷再到入土》
LeetCode-36-Binary search tree and doubly linked list
带你一文读懂SaaS版多租户商城系统对多品牌企业的应用价值
关于 NFT 版权保护的争议
Oracle 的开窗函数使用详解(二)
面向未来的 IT 基础设施管理架构——融合云(Unified IaaS)
PPT的两个实用技巧
2021DASCTF实战精英夏令营暨DASCTF July X CBCTF 4th
我的世界整合包 云服务器搭建方法(ECS)
【go】依赖注入
2021年中国工业互联网安全大赛(福建省选拔赛) 暨首届福建省工业互联网创新大赛
Live Classroom System 08-Tencent Cloud Object Storage and Course Classification Management