Mysql系列之数据表的详细查询

本文详细介绍了SQL中的各种查询方法,如简单查询、去重、条件查询、范围查询、IN查询、逻辑运算、算术运算、模糊查询,以及子查询、连接查询(内连接、左连接、右连接)、分组、排序、分页、聚合函数和常用函数等内容。作者强调了基础知识的重要性,鼓励读者学习和实践。
摘要由CSDN通过智能技术生成

上一篇介绍了数据表的插入、修改和删除等操作,今天来介绍一下数据表的详细查询。

如果你不知道在哪里下载数据库连接工具的话,请点击这里下载,并查看教程数据库的登录以及数据库和数据表的常用命令

查询是一项经常要用到的技能,所以特意用一篇文章来详细介绍。

简单查询

直接查询

select * from tb_name;
在这里插入图片描述

字段别名

select 字段名 as 别名 from tb_name;
在这里插入图片描述

去重查询

select distinct 字段名 from student;
在这里插入图片描述
查询有哪些不同的班级,distinct还可以跟多个字段,如下图
在这里插入图片描述
这里根据两个字段去重

条件查询

select * from tb_name where
在这里插入图片描述

范围查询

select * from tb_name where 字段 between 下限 and 上限;
在这里插入图片描述
这里的范围是包含的关系,即都是闭区间[]

in查询

select * from tb_name where 字段 in (‘’);
在这里插入图片描述
这里查询班级含有120803,120804的数据

逻辑运算符

and
在这里插入图片描述
or 或
在这里插入图片描述
not 非
select * from tb_name where 字段 not in (‘’);
在这里插入图片描述

算术运算符

<, <=, >, >=, !=
在这里插入图片描述

模糊查询

select * from tb_name where 字段 like ‘’;
在这里插入图片描述

子查询

子查询概述

子查询指一个查询语句嵌套在另一个查询语句内部的查询,内部的查询是外部查询的条件,子查询(内查询)在主查询之前执行完成,子查询的结果被主查询(外查询)使用。

单行子查询

子查询的结果返回一行
在这里插入图片描述
以上查询年龄大于平均年龄的学生。

多行子查询

子查询的结果返回多行
在这里插入图片描述
以上查询成绩大于60的学生。

连接查询

增加一张学生成绩表
在这里插入图片描述
在这里插入图片描述

内连接

inner join 表名 on 连接条件
在这里插入图片描述
把学生表和成绩表连接了起来,并查询两张表的信息,两张表都能匹配的数据才会返回结果

左连接

left join 表名 on 连接条件
在这里插入图片描述

右连接

right join 表名 on 连接条件
在这里插入图片描述

union

不包括重复数据
在这里插入图片描述

union all

包括重复数据
在这里插入图片描述

分组

select 字段A from tb_name group by 字段A;
在这里插入图片描述
这里再补充说明一下,根据字段A分组,意思是字段A同样的值会分到同一组里,count意思是这一组里的这个值,数量有多少个。

group by 后可以跟having条件,即分组后再根据条件过滤一下结果
在这里插入图片描述

也可以根据多个字段分组,这样的话,多个字段的值都相同才会分到同一个组里
在这里插入图片描述

排序

order by 字段 asc/desc;
在这里插入图片描述
还可以根据多个字段排序
在这里插入图片描述

分页

limit 数字 offset 数字,limit代表限制返回多少条,offset偏移量代表从第几条开始计算,0代表第一条(类似数组下标从0开始)
在这里插入图片描述

分组、排序、分页连接起来使用,顺序如下:
group by->order by->limit
在这里插入图片描述

聚合函数

  • count() :统计记录的条数;
  • sum():计算字段的值的总和;
  • avg():可以求出表中某个字段取值的平均值;
  • max():可以求出表中某个字段取值的最大值;
  • min():可以求出表中某个字段取值的最小值。

常用函数

  • concat,连接字符串
    在这里插入图片描述
  • replace,替换字符串
    在这里插入图片描述
  • substring,截取字符串
    在这里插入图片描述
  • cast,将字符串数字转换成数字类型
    在这里插入图片描述
  • date_format,时间转字符串
    在这里插入图片描述
  • str_to_date,字符串转时间
    在这里插入图片描述
  • from_unixtime,时间戳转时间
    在这里插入图片描述

写这篇文章花费了我三个多小时的时间,基础很重要,温故而知新,如果对你有用,请用发财小手点点赞吧~

如果你对我的创作感兴趣并且你能学到有用的技术,请点关注,点关注不迷路,你要是觉得文章写得可以的话,请点赞、分享加收藏,谢谢~

  • 18
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

新之助Java

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值