[MySQL]不允许你不会SQL语句之查询语句

news2024/12/29 9:01:37

🎬 博客主页:博主链接
🎥 本文由 M malloc 原创,首发于 CSDN🙉
🎄 学习专栏推荐:LeetCode刷题集!
🏅 欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正!
📆 未来很长,值得我们全力奔赴更美好的生活✨
------------------❤️分割线❤️-------------------------
————————————————

在这里插入图片描述
在这里插入图片描述

文章目录

  • 😃查询语句
    • 😧 一、sql_server技术介绍
    • 😧二、学习前的准备工作
  • 😧模糊查询
    • 😃三、模糊查询的及其语法讲解
  • 😧聚合函数
  • 😧分组查询(group by)
  • 😳总结

😁大家好呀,今天是我第四次写sql_server,也是最近才学习sql_server,也想着记录一下自己的学习过程,并且分享给大家尼!

😃查询语句

😧 一、sql_server技术介绍

SQL Server 是由微软公司(Microsoft)开发的关系型数(RDBMS)。RDBMS 是 SQL 以及所有现代数据库系统的基础,比如 MS SQL Server,IBM DB2,Oracle,MySQL 以及微软的 Microsoft Access。

😧二、学习前的准备工作

编程软件:SQL Server Management Studio 2012
带好你的小板凳,我们一起扬帆起航!

在这里插入图片描述

😧模糊查询

在SQL中有一种查询叫模糊查询,是什么样子的呢?接下来我们就来详细的看几道例题吧!

😃三、模糊查询的及其语法讲解

如下图所示,正是我们会在查询中遇到的一些语法问题啦!
在这里插入图片描述
接下来我们来看几个例子吧!

1.查询出姓刘的员工信息
语法:select * from 表名 where like 条件

select * from People where PeopleName like '刘%'

在这里插入图片描述

2.查询出名字字中含有尚的员工信息

select * from People where PeopleName like '%尚%'

在这里插入图片描述

3.查询出名字中含有尚或者史的员工信息

注意看这里是或者,所以我们用到的关键字就得有or这个关键字啦!

select * from People where PeopleName like '%尚%' or PeopleName like '%羽'

在这里插入图片描述

4.查询出姓刘的员工,名字时两个字 _下划线代表有且仅有一个字符

注意看,这个时候我们只想查询刘后面接一个字的名字,例如刘备,假设是刘大汉就不行啦!

select * from People where PeopleName like '刘_'

在这里插入图片描述

5.查询名字最后一个字为香,名字一共三个字的员工信息

那么根据上述描写,一个下划线代表着一个字,那么这个时候我们用两个下划线是不是就行啦!

select * from People where PeopleName like '__香'

在这里插入图片描述

6.查询出电话号码开头为138的员工信息

select * from People where PeoplePhone like '138%'

在这里插入图片描述

7.查询出电话号码开头为138的,第四位好像是7或者8,最后一个号码是5

此时我们发先题目要求我们呢带有查询的一个范围,这个时候我们就需要用到[]这个语法就行啦!
[]这个代表的是通配符的意思,里面填写的是数的范围

select * from People where PeoplePhone like '138[7,8]%5'

在这里插入图片描述

此时我们发现我们建立的表中是没有这样的数据的。

8.查询出电话号码开头为138的,第四位好像是2者5,最后一个号码不是2和3

select * from People where PeoplePhone like '138[2,3,4,5]%[^2,3]'

在这里插入图片描述

😧聚合函数

下图是聚合函数的几个函数名!

在这里插入图片描述

接下来我带大家了解几个例子吧!

1.求员工的总数

select count(*) 人数 from People

在这里插入图片描述

2.求最大值,求最高的工资

select max(PeopleSalary) 最高工资 from People

在这里插入图片描述

3.求最小值,求最小的工资

select min(PeopleSalary) from People

在这里插入图片描述

4.求和,求所有员工的工资总和

select sum(PeopleSalary) 总和工资 from People

在这里插入图片描述

5.求平均值,求所有员工的平均工资

select avg(PeopleSalary) 平均工资 from People

在这里插入图片描述

我们会发现这后面会有很多小数点,这时候我们可以用到一个函数啦!round这个函数

select round(avg(PeopleSalary),2) from People

在这里插入图片描述

6.求数量,最大值,最小值,总和,平均值,在一行显示

select count(*) 人数,max(PeopleSalary) 最高工资,min(PeopleSalary),sum(PeopleSalary) 总和工资,round(avg(PeopleSalary),2) from People

这一题就是把前面的全部整合到一起啦!

在这里插入图片描述

7.查出武汉地区的数量,最大值,最小值,总和,平均值,在一行显示

这里我们发现还多加了一个条件,需要有指定的城市也很简单啦!

select count(*) 人数,max(PeopleSalary) 最高工资,min(PeopleSalary),sum(PeopleSalary) 总和工资,round(avg(PeopleSalary),2) from People where PeopleAddress = '武汉'

在这里插入图片描述

8.求出工资比平均工资高的人员信息

select * from People where PeopleSalary >
	(select avg(PeopleSalary) from People)

在这里插入图片描述

这里运用到了一个子查询,首先我们可以先把工资求出来,然后再通过子查询查询到平均工资,这样在做一个比较就行啦!

9.求数量,年龄最大值,最小值,年龄总和,年龄平均值

在查询年龄的时候,我们可以运用到一个函数,year(),它可以返回对应的年份,在运用一个函数getdate(),这个函数的作用就是求出实时的年月日,再用实时的年月减去出生的年就行啦!

select *,year(getdate()) - year(PeopleBirth) 年龄 from People
select count(*),
max(year(getdate()) - year(PeopleBirth)) 最高年龄,
min(year(getdate()) - year(PeopleBirth)) 最低年龄,
sum(year(getdate()) - year(PeopleBirth)) 年龄总和,
avg(year(getdate()) - year(PeopleBirth)) 平均年龄
from People

在这里插入图片描述

10.计算出月薪在10000以上的男性,年龄最大值,最小值,年龄总和,年龄平均值

这一道题目就是做了一个条件的限制,我们需要在后面加上限制条件就行啦!

select '月薪在10000以上' 月薪,'男' 性别,
count(*),
max(year(getdate()) - year(PeopleBirth)) 最高年龄,
min(year(getdate()) - year(PeopleBirth)) 最低年龄,
sum(year(getdate()) - year(PeopleBirth)) 年龄总和,
avg(year(getdate()) - year(PeopleBirth)) 平均年龄
from People where PeopleSalary > 10000 and PeopleSex = '男'

在这里插入图片描述

11.统计出所在地在武汉或者北京’,年龄最大值,最小值,年龄总和,年龄平均值

select count(*),
max(year(getdate()) - year(PeopleBirth)) 最高年龄,
min(year(getdate()) - year(PeopleBirth)) 最低年龄,
sum(year(getdate()) - year(PeopleBirth)) 年龄总和,
avg(year(getdate()) - year(PeopleBirth)) 平均年龄
from People where PeopleAddress in('武汉','北京') and PeopleSex = '女'

在这里插入图片描述

我们会发现此时我们的表中无值的!

12.求出年龄比平均年龄高的员工信息

这里首先我们可以先通过子查询查出平均年龄的信息,然后再用表中的年龄信息与平均年龄信息进行比较,如果大于平均年龄则输出就行啦!

select * from People where (year(getdate()) - year(PeopleBirth)) > (select avg(year(getdate())- year(PeopleBirth)) from People)

在这里插入图片描述

😧分组查询(group by)

1.根据员工所在地区分组统计员工人数,员工工资总和,平均工资,最高工资,最低工资

首先在分组查询的过程中,我们需要先看题目要求对谁分组,这里是对地区分组,所以我们group by的就是PeopleAddress

select PeopleAddress 地区, count(*),sum(PeopleSalary),avg(PeopleSalary),max(PeopleSalary),min(PeopleSalary) from People 
group by PeopleAddress 

在这里插入图片描述

2.根据员工所在地区分组统计员工人数,员工工资总和,平均工资,最高工资,最低工资,1985年以后出身的员工不参与统计

从这里我们看到,这里还加了一些个条件,此时我们就需要用where来进行限制啦!

select PeopleAddress 地区, count(*),sum(PeopleSalary),avg(PeopleSalary),max(PeopleSalary),min(PeopleSalary) from People
	where PeopleBirth < '1985-1-1'
		group by PeopleAddress 

在这里插入图片描述

3.根据员工所在地区分组统计员工人数,员工工资总和,平均工资,最高工资,最低工资,要求员工人数至少在两个人及以上的,1985年以后出身的员工不参与统计

select PeopleAddress 地区, count(*),sum(PeopleSalary),avg(PeopleSalary),max(PeopleSalary),min(PeopleSalary) from People
	where PeopleBirth < '1985-1-1'
		group by PeopleAddress having count(*) >= 2

当我们用了group by时,我们的where里面就不可以用聚合函数了,所以此时我们需要用having这个关键字!

在这里插入图片描述

😳总结

今天的分享就到此为止啦!我们下期再见啦!一定要好好吸收啊!我是爱你们的M malloc

**提醒:以上内容仅做参考,可自行发散。在发布作品前,请把不需要的内容删掉。**

在这里插入图片描述

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

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

相关文章

分享几个AI绘图的学习网址

AI绘图是一种使用人工智能技术来创建图形和图像的技术。 从技术角度来看&#xff0c;AI绘图是一个非常有趣和不断发展的领域。随着人工智能技术的不断进步&#xff0c;AI绘图也在不断地发展和创新&#xff0c;现在已经成为数字艺术领域中的一个重要分支。 AI绘图的出现也为许多…

2023年的深度学习入门指南(17) - 深度学习的硬件加速技术

2023年的深度学习入门指南(17) - 深度学习的硬件加速技术 有了前面的知识之后&#xff0c;想必大家对于算力需求的理解已经越来越深刻了。 除了使用CPU&#xff0c;GPU这样的通用器件之外&#xff0c;采用专用的硬件来进行加速是一个大家都能想到的选择。 其中的代表器件就是…

Docke是什么,一文带你了解

Docker的优势、与虚拟机技术的区别、三个重要概念和架构及工作原理详细讲解 随着云计算和容器化技术的发展&#xff0c;Docker作为一种轻量级的容器化技术&#xff0c;受到了越来越多的关注和应用。本文将详细介绍Docker的优势、与虚拟机技术的区别、三个重要概念和架构及工作…

memcpy 和 memmove的模拟实现

文章目录 1.函数的介绍 2.模拟实现 文章内容 1.函数的介绍 memcpy指的是C和C使用的内存拷贝函数&#xff0c;函数原型为void *memcpy(void*dest,void*src, size_t count)&#xff1b;函数的功能是从源内存地址的起始位置开始拷贝若干个字节到目标内存地址中&#xff0c;即从…

内网穿透(NAT 穿透)原理+工具(部分无需管理员权限)

内网穿透&#xff0c;即 NAT&#xff08;Network Address Translation&#xff09; 穿透 内网穿透的实质是内网映射&#xff0c;内网地址转换成外网地址的实现。实现过程要有端对端数据传输&#xff0c;也有端口转发原理。内网映射方式&#xff0c;可以解决无公网IP问题&#…

Android问题笔记-Android studio 出现Failed to compile values file.错误

点击跳转>Unity3D特效百例点击跳转>案例项目实战源码点击跳转>游戏脚本-辅助自动化点击跳转>Android控件全解手册点击跳转>Scratch编程案例点击跳转>软考全系列 &#x1f449;关于作者 专注于Android/Unity和各种游戏开发技巧&#xff0c;以及各种资源分享&…

docker compose 容器编排工具

目录 docker compose是什么&#xff1f; 官网网站&#xff1a;Docker Compose overview | Docker Documentation 安装使用compose&#xff1a; 步骤&#xff1a; 1、下载并安装compose的命令行插件 2、安装完成后授予权限&#xff0c;测试compose是否可以使用 3、实例测试…

AI大模型迈入应用时代,每日互动推动“可控大模型”落地

垂直行业更需要可控大模型 当下&#xff0c;大模型正在不断精进&#xff0c;以GPT-4、文心一言为代表的大模型&#xff08;LLM&#xff09;表现出了强大的逻辑推理能力&#xff0c;并能够很好地处理复杂任务&#xff0c;使得社会生产力得到了飞跃式提升。 面对大模型热度的持…

全网最详细,自动化测试与自动化框架总结,你不知道的都在这了...

目录&#xff1a;导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09; 前言 单元测试框架 单…

网络:IP地址、子网掩码、网络地址、广播地址、网段、网关

目录 一、IP地址 二、子网掩码 三、网络地址 四、广播地址 五、网段 六、网关 七、IP地址、子网掩码、网络地址、广指地址、网殷、网关的关系 参考链接 一、IP地址 IP地址是因特网协议&#xff08;IP&#xff09;中使用的一种数字标识符&#xff0c;用于唯一地标识网络…

LLM - 基于 Vicuna-13B 参数计算搭建私有 ChatGPT 在线聊天

欢迎关注我的CSDN&#xff1a;https://spike.blog.csdn.net/ 本文地址&#xff1a;https://blog.csdn.net/caroline_wendy/article/details/131312366 LLaMA 和 Vicuna 都是大语言模型(LLM)&#xff0c;两者的差异如下&#xff1a; LLaMA (Large Language Model Meta AI)&#…

英飞凌MCU芯片选型推荐参考

前言: 英飞凌Infineon作为一家芯片大厂,有众多芯片产品可供选型,这里重点推荐下庞大的MCU系列如何选项。首先,对于英飞凌产品构成要有深刻的认识,需要熟悉一个半导体产业并购的历程。2013年5月,Spansion 1.1亿美元并购了对富士通(Fujitsu)半导体微控制器和模拟业务部门…

聚类Clustering方法定位船舶站点

背景 现有船舶的航线中采样的数据库&#xff0c;采样的总时长为3个月&#xff0c;仅采样航速静止&#xff08;小于1节&#xff09;的数据&#xff0c;关键有效数据主要有经纬度/实时吃水量。 思路 基于站点附近轮船有停靠且航行速度慢&#xff0c;故取样点多的基础认识&…

正确的认识泥石流以及做好泥石流的防范

泥石流是山区沟谷中由暴雨、冰雪融水或地下含水层的渗入所形成的携带大量泥沙、石块等固体物质的特殊洪流&#xff0c;具有流量大、历时短、破坏力强等特征&#xff0c;泥石流携带的泥沙、石块等可高达数十米&#xff0c;并从山坡上倾泻而下&#xff0c;往往会形成一个“堰塞湖…

Python自动化测试利器selenium详解

Selenium是一种常用的Web自动化测试工具&#xff0c;支持多种编程语言和多种浏览器&#xff0c;可以模拟用户的交互行为&#xff0c;自动化地执行测试用例和生成测试报告。Selenium基于浏览器驱动实现&#xff0c;结合多种定位元素的方法&#xff0c;可以实现各种复杂的Web应用…

二进制搭建Kubernetes集群(一)——部署etcd集群和单master

单master集群架构图&#xff1a; 实验环境&#xff08;二进制搭建 Kubernetes v1.20&#xff09; 注意&#xff1a;生产环境中&#xff0c;etcd集群和master、node节点都应该部署在不同的机器上&#xff0c;此处为了实验方便&#xff0c;将三台etcd节点分别部署在了master和no…

探究Vue源码:mustache模板引擎(3) 通过编写简单正则了解mustache转换思路

我们会基本使用显然不够啊 我们要去了解mustache的原理 乃至自己去写一个mustache 首先 mustache 不是不能用简单的正则表达式来实现 但是 这里为了让大家理解 为什么不能 我们还是用简单正则写一下 我们创建一个 html文件 然后 编写代码如下 <!DOCTYPE html> <htm…

API性能监控 【ApiHelp】-- 组件Monitor 核心功能实现

上篇文章介绍了组件Monitor主要设计和功能Monitor组件设计&#xff0c;现在来具体看看Monitor组件的实现。 1、Java Agent实现AgentMain 前面已经介绍了Java Agent相关知识&#xff0c;现在来具体实现下。 实现AgentMain类&#xff1a; AgentMain为agent的入口类&#xff0c;程…

【C语言】项目实战——快速0基础上手五子棋游戏(内附源码)

君兮_的个人主页 勤时当勉励 岁月不待人 C/C 游戏开发 如果你是从现在关注的老粉的话&#xff0c;你可能会有点疑惑“how old are you&#xff1f;”(怎么老是你&#xff1f;) 唉&#xff0c;没办法我也不想的&#xff0c;但是月末了参加新星计划和2023年博客之星的评选只能更…

职业生涯规划书600字范文

职业生涯规划书600字范文篇1 记得高中时老师就告诉我们要认识自己&#xff0c;“认识自己”&#xff0c;仅仅四个字&#xff0c;实践起来是何等的艰难&#xff0c;古往今来那么多仁人志士为了能认识自己&#xff0c;不断实践&#xff0c;不断创新&#xff0c;可又有几个能在生命…