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

这篇具有很好参考价值的文章主要介绍了[MySQL]不允许你不会SQL语句之查询语句。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

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

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

😁大家好呀,今天是我第四次写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
带好你的小板凳,我们一起扬帆起航!

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

😧模糊查询

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

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

如下图所示,正是我们会在查询中遇到的一些语法问题啦!
[MySQL]不允许你不会SQL语句之查询语句
接下来我们来看几个例子吧!

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

select * from People where PeopleName like '刘%'

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

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

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

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

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

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

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

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

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

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

select * from People where PeopleName like '刘_'

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

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

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

select * from People where PeopleName like '__香'

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

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

select * from People where PeoplePhone like '138%'

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

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

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

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

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

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

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

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

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

😧聚合函数

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

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

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

1.求员工的总数

select count(*) 人数 from People

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

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

select max(PeopleSalary) 最高工资 from People

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

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

select min(PeopleSalary) from People

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

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

select sum(PeopleSalary) 总和工资 from People

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

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

select avg(PeopleSalary) 平均工资 from People

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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 = '男'

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

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 = '女'

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

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

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

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

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

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

😧分组查询(group by)

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

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

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

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

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

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

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

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

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这个关键字!

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

😳总结

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

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

[MySQL]不允许你不会SQL语句之查询语句文章来源地址https://www.toymoban.com/news/detail-474124.html

到了这里,关于[MySQL]不允许你不会SQL语句之查询语句的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • MySQL—一条查询SQL语句的完整执行流程

    表结构和数据如下: 我们分析的sql语句如下: 大体来说,MySQL可以分为Server层和存储引擎层两部分: Server层 包括:连接器、查询缓存、分析器、优化器、执行器等 涵盖MySQL的大多数核心服务功能 所有的内置函数(如日期、时间、数学和加密函数等),所有跨存储引擎的功能都在

    2024年04月28日
    浏览(47)
  • MySQL中,SQL 查询总是先执行SELECT语句吗?

    在使用 MySQL 进行查询时,我们通常会使用 SELECT 语句,但是 SELECT 语句是否总是最先被执行呢?这是一个非常有趣的问题,本文将对此进行探讨。 在 MySQL 中,SQL 查询通常包括以下几个步骤: 语法解析 :MySQL 会对 SQL 查询语句进行语法解析,检查语句是否符合 SQL 语法规范。

    2023年04月09日
    浏览(36)
  • 【MySQL】不允许你不会全文本搜索

    🎬 博客主页:博主链接 🎥 本文由 M malloc 原创,首发于 CSDN🙉 🎄 学习专栏推荐:LeetCode刷题集 🏅 欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正! 📆 未来很长,值得我们全力奔赴更美好的生活✨ 😁大家好呀,今天是我第N次写MySQL,也是最近才学习MySQL,也想着记录一

    2024年02月16日
    浏览(30)
  • 【MySQL】不允许你不会创建高级联结

    🎬 博客主页:博主链接 🎥 本文由 M malloc 原创,首发于 CSDN🙉 🎄 学习专栏推荐:LeetCode刷题集! 🏅 欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正! 📆 未来很长,值得我们全力奔赴更美好的生活✨ 😁大家好呀,今天是我第N次写MySQL,也是最近才学习MySQL,也想着记录

    2024年02月13日
    浏览(37)
  • Mysql的学习与巩固:一条SQL查询语句是如何执行的?

    我们经常说,看一个事儿千万不要直接陷入细节里,你应该先鸟瞰其全貌,这样能够帮助你从高维度理解问题。同样,对于MySQL的学习也是这样。平时我们使用数据库,看到的通常都是一个整体。比如,你有个最简单的表,表里只有一个ID字段,在执行下面这个查询语句时:

    2023年04月13日
    浏览(69)
  • MySQL数据库增删改查及聚合查询SQL语句学习汇总

    目录 数据库增删改查SQL语句 MySQL数据库指令 1.查询数据库 2.创建数据库 3.删除数据库 4.选择数据库 创建表table   查看所有表 创建表 查看指定表的结构 删除表 数据库命令进行注释 增删改查(CRUD)详细说明 增加 SQL库提供了关于时间的函数:now()  查询 查询表作列与列之间进

    2024年02月09日
    浏览(66)
  • MYSQL实战45讲笔记--基础架构:一条SQL查询语句是如何执行的?

    MySQL 可以分为 Server 层和存储引擎层两部分。 Server 层 :连接器、查询缓存、分析器、优化器、执行器等,涵盖 MySQL 的大多数核心服务功能,以及所有的内置函数(如日期、时间、数学和加密函数等),所有跨存储引擎的功能都在这一层实现,比如存储过程、触发器、视图等

    2024年02月07日
    浏览(36)
  • 【MySQL】不允许你不会用正则表达式进行搜索

    🎬 博客主页:博主链接 🎥 本文由 M malloc 原创,首发于 CSDN🙉 🎄 学习专栏推荐:LeetCode刷题集! 🏅 欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正! 📆 未来很长,值得我们全力奔赴更美好的生活✨ 😁大家好呀,今天是我第N次写MySQL,也是最近才学习MySQL,也想着记录

    2024年02月11日
    浏览(41)
  • mybatis-plus技巧--动态表名-多语句-拼接sql--关于mybatis的mysql分页查询总数的优化思考

    传入tableName参数就可以了,不过只能用$不能用# 因为#会发生预编译,然后会在表名上加引号’\\\'。 新建一个表名拦截类实现TableNameHandler mybatisPlus添加插件 实例: 每天按统计 如果表名为count则加上今天的时间 每次设置 直接设置名字,然后就会改变的。 需要在配置文件中的

    2024年01月16日
    浏览(36)
  • SQL常用(查询日期)语句

    目录 SQL常用日期查询语句及显示格式设置 1.查询当前年、月、周相关时间  2.查询当前第几季度 3.查询当前在一年内是第几周 SqlServer中的日期与时间函数  SQL查询前10条的方法为: 1.1.查询当前年份 1.2.查询当前年份第几天  1.3.查询当前月份第几天 1.4.查询当前周的星期几 

    2024年02月16日
    浏览(30)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包