您的位置:首页 > 财经 > 金融 > mysql笔记7(单表查询)

mysql笔记7(单表查询)

2024/12/23 10:19:52 来源:https://blog.csdn.net/m0_62024160/article/details/142206721  浏览:    关键词:mysql笔记7(单表查询)

文章目录

  • 1. select
    • ① 从伪表里查数据(可以结合第3点dual理解数据来源)
      • select '文字 ';
      • 做计算:select 算式;
      • select '文字'( 或算式) as 别名;(as 用于起别名,可省略)
    • ② 从真实表里查数据
      • select * from 表名;
      • select 字段名,字段名 from 表名;
  • 2. from
  • 3. dual 伪表
  • 4. where 用于条件筛选
  • 5. in
  • 6. between ... and ... 和 not between ... and ...
  • 7. is null 和 is not null
  • 8. 聚合函数
  • 9. 客户端的使用 -- navicat
  • 10. like模糊查询
  • 11. group by分组查询
    • order by
  • 12. group_concat(将分组查询的结果聚合显示)
  • 13. having 也用于条件筛选
  • 14. limit 限定截取数据的起始位置
  • 15. distinct(去重)和all(默认情况下都是all)
  • 16. 内容出处

1. select

① 从伪表里查数据(可以结合第3点dual理解数据来源)

select '文字 ';

在这里插入图片描述

做计算:select 算式;

在这里插入图片描述

select ‘文字’( 或算式) as 别名;(as 用于起别名,可省略)

as的好处:① 好看 ② 便于用having进行条件筛选在这里插入图片描述>真实表里的字段查询时也可以用as起别名在这里插入图片描述

② 从真实表里查数据

select * from 表名;

在这里插入图片描述

select 字段名,字段名 from 表名;

在这里插入图片描述

2. from

from 表名;
from 主要用途在于笛卡尔积(笛卡儿积:可以简单理解为两表数据交叉匹配)
在这里插入图片描述
在这里插入图片描述

3. dual 伪表

结合第1点
在这里插入图片描述
例如:通常情况下,我们查数据时会标明从哪张表里查。但是上述select 2+7;并没有说从哪张表里查找结果,却依然可以显示结果9,是因为此时默认从伪表dual里查询结果了

4. where 用于条件筛选

条件:>;>=;<;<=;=;!=;not;and;or
mysql中where 支持的运算符
在这里插入图片描述
在这里插入图片描述

5. in

where 字段名 in + (‘要筛选出的数据’,‘要筛选出的数据’);在这里插入图片描述

6. between … and … 和 not between … and …

where 字段名 between 数据 and 数据
在这里插入图片描述
在这里插入图片描述
between … and … 直接的数据如果是字符串会按首字母范围筛选数据(字符串如果中英文结合好像会出问题)
在这里插入图片描述
在这里插入图片描述

7. is null 和 is not null

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

8. 聚合函数

就是mysql自带的一些主要用于做统计的函数,例如:sum avg(平均值)、max、min、count(统计次数)等
统计数据时一般不用count(*),count(1)和count( * )的争议
count(*)优化
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

9. 客户端的使用 – navicat

navicat:数据库管理工具(也可以简单理解为mysql数据库的图形界面)。可以方便我们建库建表以及对数据进行CRUD
在这里插入图片描述
在这里插入图片描述
输入连接名和mysql密码就可以连接到本地的mysql数据库了
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
点击左上角的新建查询以后,就可以在图形界面写sql语句了(当然,不使用sql语句也能操作)

10. like模糊查询

%可以替代一个或者多个字符
_可以代替一个字符

举例理解模糊查询:
查询student表中所有姓张的同学:
① select * from student where name like ‘张%’;
在这里插入图片描述
② 查询student表中所有名字中带”张“的同学:
在这里插入图片描述
在这里插入图片描述

11. group by分组查询

① 如果使用group by,查询字段必须是聚合函数和分组字段。
② group by默认按字段升序排序,后面加上 desc 可以改成降序排序(desc此处用法存疑,有的博客里说desc应该是跟order by连用的。但是视频教程里确实 group by address desc也运行成功了,gpt回复说可能是因为mysql版本原因)

举例理解group by:
在这里插入图片描述
① 查询这张表里男性的平均年龄和女性的平均年龄
在这里插入图片描述
② 查询这张表里北京、深圳和上海人口的平均年龄
在这里插入图片描述
我这里加上desc以后报错了
在这里插入图片描述
改成order by以后使用desc没有问题在这里插入图片描述

order by

默认升序排序,后面可以加desc改为降序排序在这里插入图片描述

12. group_concat(将分组查询的结果聚合显示)

在这里插入图片描述
group_concat()里面可以填写多个字段
在这里插入图片描述

13. having 也用于条件筛选

        where做条件筛选时是从初始数据表里一条一条筛选出符合条件的数据。havinga可以在已经查询后的结果上继续进行条件筛选。
在这里插入图片描述
在这里插入图片描述

14. limit 限定截取数据的起始位置

select 字段名,字段名 from 表名 limit 从哪个地方开始(默认从第1条数据开始),向下截取几条数据
limit 0, 2:从第1条数据开始,向下截取2条数据
limit 1,3:从第2条数据开始,向下截取3条数据
在这里插入图片描述
在这里插入图片描述

15. distinct(去重)和all(默认情况下都是all)

写在筛选字段前在这里插入图片描述
all:
在这里插入图片描述
distinct:
在这里插入图片描述

16. 内容出处

mysql

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com