当前位置: 首页 > news >正文

东莞市人才招聘网山西seo排名厂家

东莞市人才招聘网,山西seo排名厂家,电商网站开发的难点在哪里,wordpress用户增加插件目录 文章声明⭐⭐⭐让我们开始今天的学习吧!DQL简介基本查询查询多个/全部字段设置别名去除重复记录 条件查询条件查询介绍实例演示 聚合函数什么是聚合函数?常见的聚合函数实例演示 分组查询分组查询语法where 和 having 的区别实例演示 排序查询语法实…

目录

  • 文章声明⭐⭐⭐
  • 让我们开始今天的学习吧!
    • DQL简介
    • 基本查询
      • 查询多个/全部字段
      • 设置别名
      • 去除重复记录
    • 条件查询
      • 条件查询介绍
      • 实例演示
    • 聚合函数
      • 什么是聚合函数?
      • 常见的聚合函数
      • 实例演示
    • 分组查询
      • 分组查询语法
      • where 和 having 的区别
      • 实例演示
    • 排序查询
      • 语法
      • 实例演示
    • 分页查询
      • 语法
      • 实例演示
    • 综合练习


文章声明⭐⭐⭐

  1. 该文章为我(有编程语言基础,非编程小白)的 MySQL复习笔记
  2. 知识来源为 B站UP主(黑马程序员)的MySQL课程视频,归纳为自己的语言与理解记录于此并加以实践
  3. 此前我已经学习过了MySQL,现在是在复习阶段,所以不是面向小白的教学文章
  4. 不出意外的话,我大抵会 持续更新
  5. 想要了解前端开发(技术栈大致有:Vue2/3、微信小程序、uniapp、HarmonyOS、NodeJS、Typescript)与Python的小伙伴,可以关注我!谢谢大家!

让我们开始今天的学习吧!

DQL简介

DQL英文全称Data Query Language,即数据查询语言,用来查询表中数据

完整语法如下:

select 字段列表 from 表名列表 where 条件列表 group by 分组字段列表 having 分组后条件列表 order by 排序字段列表 limit 分页参数 

基本查询

查询多个/全部字段

mysql> select id,username from emp;
+------+----------+
| id   | username |
+------+----------+
|    1 | Richie   |
|    2 | Taylor   |
|    3 | Mike     |
+------+----------+
3 rows in set (0.00 sec)mysql> select * from emp; # 数据量大的时候尽量不要使用,因为效率比较低
+------+----------+------+--------+
| id   | username | age  | gender |
+------+----------+------+--------+
|    1 | Richie   |   21 ||
|    2 | Taylor   |   34 ||
|    3 | Mike     |   45 ||
+------+----------+------+--------+
3 rows in set (0.00 sec)

设置别名

设置别名的好处在于,我们可以自定义字段名,可以更直观的观察数据

mysql> select username as name,gender as sex from emp;
+--------+------+
| name   | sex  |
+--------+------+
| Richie ||
| Taylor ||
| Mike   ||
+--------+------+
3 rows in set (0.00 sec)mysql> select username name,gender sex from emp; # as可以省略
+--------+------+
| name   | sex  |
+--------+------+
| Richie ||
| Taylor ||
| Mike   ||
+--------+------+
3 rows in set (0.00 sec)

去除重复记录

mysql> select distinct gender '性别' from emp; # 使用关键字distinc来去除重复记录
+------+
| 性别 |
+------+
||
||
+------+
2 rows in set (0.00 sec)

条件查询

条件查询介绍

比较运算符功能
>大于
>=大于等于
<小于
<=小于等于
=等于
<> 或 !=不等于
between … and …在某个范围之内(含最大最小值)
in(…)在in之后的列表中的值,就是多选一的意思
like 占位符模糊匹配(_匹配单个字符,%匹配任意个字符)
is null是null
逻辑运算符功能
and 或 &&并且(多个条件同时成立)
or 或 ||或者(多个条件任意一个成立)
not 或 !非(不是)

实例演示

mysql> select * from emp where age = 88; # 查询年龄等于88的员工
+------+----------+------+--------+
| id   | username | age  | gender |
+------+----------+------+--------+
|    5 | 张三     |   88 |        |
+------+----------+------+--------+
1 row in set (0.00 sec)mysql> select * from emp where age < 30; # 查询年龄小于30的员工
+------+----------+------+--------+
| id   | username | age  | gender |
+------+----------+------+--------+
|    1 | Richie   |   21 ||
|    4 |          |   25 ||
+------+----------+------+--------+
2 rows in set (0.00 sec)mysql> select * from emp where age <= 25; # 查询年龄小于等于25的员工
+------+----------+------+--------+
| id   | username | age  | gender |
+------+----------+------+--------+
|    1 | Richie   |   21 ||
|    4 |          |   25 ||
+------+----------+------+--------+
2 rows in set (0.00 sec)mysql> select * from emp where username = '' or username is null; # 查询没有姓名的员工
+------+----------+------+--------+
| id   | username | age  | gender |
+------+----------+------+--------+
|    4 |          |   25 ||
+------+----------+------+--------+
1 row in set (0.00 sec)mysql> select * from emp where not (username = '' or username is null); # 查询有姓名的员工
+------+----------+------+--------+
| id   | username | age  | gender |
+------+----------+------+--------+
|    1 | Richie   |   21 ||
|    2 | Taylor   |   34 ||
|    3 | Mike     |   45 ||
|    5 | 张三     |   88 |        |
+------+----------+------+--------+
4 rows in set (0.00 sec)mysql> select * from emp where age != 45; # 查询年龄不等于45的员工
+------+----------+------+--------+
| id   | username | age  | gender |
+------+----------+------+--------+
|    1 | Richie   |   21 ||
|    2 | Taylor   |   34 ||
|    4 |          |   25 ||
|    5 | 张三     |   88 |        |
+------+----------+------+--------+
4 rows in set (0.00 sec)mysql> select * from emp where age between 20 and 40; # 查询年龄在20-40之间的员工
+------+----------+------+--------+
| id   | username | age  | gender |
+------+----------+------+--------+
|    1 | Richie   |   21 ||
|    2 | Taylor   |   34 ||
|    4 |          |   25 ||
+------+----------+------+--------+
3 rows in set (0.00 sec)mysql> select * from emp where gender = '女' and age < 30; # 查询性别为女且年龄小于30的员工
+------+----------+------+--------+
| id   | username | age  | gender |
+------+----------+------+--------+
|    4 |          |   25 ||
+------+----------+------+--------+
1 row in set (0.00 sec)mysql> select * from emp where gender = '女' and age < 30; # 查询年龄为21或者25或者34的员工
+------+----------+------+--------+
| id   | username | age  | gender |
+------+----------+------+--------+
|    4 |          |   25 ||
+------+----------+------+--------+
1 row in set (0.00 sec)mysql> select * from emp where age in (21,25,34); # 查询年龄为21或者25或者34的员工
+------+----------+------+--------+
| id   | username | age  | gender |
+------+----------+------+--------+
|    1 | Richie   |   21 ||
|    2 | Taylor   |   34 ||
|    4 |          |   25 ||
+------+----------+------+--------+
3 rows in set (0.00 sec)mysql> select * from emp where username like '__'; # 查询姓名为两个字的员工
+------+----------+------+--------+
| id   | username | age  | gender |
+------+----------+------+--------+
|    5 | 张三     |   88 |        |
+------+----------+------+--------+
1 row in set (0.00 sec)mysql> select * from emp where username like '%e'; # 查询姓名最后是e的员工
+------+----------+------+--------+
| id   | username | age  | gender |
+------+----------+------+--------+
|    1 | Richie   |   21 ||
|    3 | Mike     |   45 ||
+------+----------+------+--------+
2 rows in set (0.00 sec)

聚合函数

什么是聚合函数?

聚合函数用于将一列数据作为一个整体,进行纵向的计算

注意:null不参与聚合函数的运算

常见的聚合函数

函数功能
count统计数量
max最大值
min最小值
avg平均值
sum求和

实例演示

mysql> select * from emp;
+------+----------+------+--------+
| id   | username | age  | gender |
+------+----------+------+--------+
|    1 | Richie   |   21 ||
|    2 | Taylor   |   34 ||
|    3 | Mike     |   45 ||
|    4 |          |   25 ||
|    5 | 张三     |   88 |        |
+------+----------+------+--------+
5 rows in set (0.00 sec)mysql> select count(id) from emp; # 统计有多少条包含id字段的记录,不统计null
+-----------+
| count(id) |
+-----------+
|         5 |
+-----------+
1 row in set (0.00 sec)mysql> select avg(age) from emp; # 统计员工的平均年龄
+----------+
| avg(age) |
+----------+
|  42.6000 |
+----------+
1 row in set (0.03 sec)mysql> select max(age) from emp; # 统计员工的最大年龄
+----------+
| max(age) |
+----------+
|       88 |
+----------+
1 row in set (0.00 sec)mysql> select min(age) from emp; # 统计员工的最小年龄
+----------+
| min(age) |
+----------+
|       21 |
+----------+
1 row in set (0.00 sec)mysql> select sum(age) from emp where gender = '男'; # 统计男员工的年龄之和
+----------+
| sum(age) |
+----------+
|       66 |
+----------+
1 row in set (0.00 sec)

分组查询

分组查询语法

select 字段列表 from 表名 [where 条件] group by 分组字段名 [having 分组后过滤的条件]

where 和 having 的区别

  1. 执行时机不同:where 是在 group by 分组之前进行过滤,不满足 where 条件的,不参与 group by 分组;而 having 则是在 group by 分组之后过滤的
  2. 判断条件不同:where 不能对聚合函数进行判断过滤,而 having 则可以

注意:执行顺序为 where > 聚合函数 > having

实例演示

mysql> select * from emp;
+------+----------+------+--------+
| id   | username | age  | gender |
+------+----------+------+--------+
|    1 | Richie   |   21 ||
|    2 | Taylor   |   29 ||
|    3 | Mike     |   38 ||
|    4 | Jack     |   88 ||
|    5 | Joker    |   56 ||
|    6 | Nancy    |   18 ||
+------+----------+------+--------+
6 rows in set (0.00 sec)mysql> select gender,count(*) from emp group by gender; # 根据性别分组,统计男员工和女员工的数量
+--------+----------+
| gender | count(*) |
+--------+----------+
||        4 |
||        2 |
+--------+----------+
2 rows in set (0.00 sec)mysql> select gender,avg(age) from emp group by gender; # 根据性别分组,统计男员工和女员工的平均年龄
+--------+----------+
| gender | avg(age) |
+--------+----------+
||  50.7500 |
||  23.5000 |
+--------+----------+
2 rows in set (0.03 sec)mysql> select gender,count(*) from emp where age < 60 group by gender having count(*) >= 3; # 查询年龄小于60的员工,并根据性别分组,获取员工数量大于等于3的性别
+--------+----------+
| gender | count(*) |
+--------+----------+
||        3 |
+--------+----------+
1 row in set (0.00 sec)mysql> select gender,count(*) num from emp where age < 60 group by gender having num >= 3; # 还可以在上一个例题中起别名
+--------+-----+
| gender | num |
+--------+-----+
||   3 |
+--------+-----+
1 row in set (0.03 sec)

排序查询

语法

select 字段列表 from 表名 order by 字段1 排序方式1,字段2 排序方式2 ... ;

排序方式

  • 升序:asc(ascend,此为默认值)
  • 降序:desc(descend)

实例演示

mysql> select * from emp;
+------+----------+------+--------+
| id   | username | age  | gender |
+------+----------+------+--------+
|    1 | Richie   |   21 ||
|    2 | Taylor   |   29 ||
|    3 | Mike     |   38 ||
|    4 | Jack     |   88 ||
|    5 | Joker    |   56 ||
|    6 | Nancy    |   18 ||
+------+----------+------+--------+
6 rows in set (0.00 sec)mysql> select username '姓名',age '年龄',gender '性别' from emp where gender = '男' order by age; # 根据 年龄对男员工进行升序排序
+--------+------+------+
| 姓名   | 年龄 | 性别 |
+--------+------+------+
| Richie |   21 ||
| Mike   |   38 ||
| Joker  |   56 ||
| Jack   |   88 ||
+--------+------+------+
4 rows in set (0.00 sec)

分页查询

语法

select 字段列表 from 表名 limit 起始索引 , 查询记录数;

注意:

  • 起始索引从 0 开始计算,起始索引 = (要查询的页码数 - 1)* 每页显示记录数
  • 如果查询的是第一页,起始索引可以省略

实例演示

mysql> select * from emp;
+------+----------+------+--------+
| id   | username | age  | gender |
+------+----------+------+--------+
|    1 | Richie   |   21 ||
|    2 | Taylor   |   29 ||
|    3 | Mike     |   38 ||
|    4 | Jack     |   88 ||
|    5 | Joker    |   56 ||
|    6 | Nancy    |   18 ||
|    7 | Linken   |   57 ||
+------+----------+------+--------+
7 rows in set (0.00 sec)mysql> select * from emp limit 0 , 4; # 查询第一页员工数据,每页展示4条数据
+------+----------+------+--------+
| id   | username | age  | gender |
+------+----------+------+--------+
|    1 | Richie   |   21 ||
|    2 | Taylor   |   29 ||
|    3 | Mike     |   38 ||
|    4 | Jack     |   88 ||
+------+----------+------+--------+
4 rows in set (0.00 sec)mysql> select * from emp limit 4; # 查询第一页数据时可以简写
+------+----------+------+--------+
| id   | username | age  | gender |
+------+----------+------+--------+
|    1 | Richie   |   21 ||
|    2 | Taylor   |   29 ||
|    3 | Mike     |   38 ||
|    4 | Jack     |   88 ||
+------+----------+------+--------+
4 rows in set (0.00 sec)mysql> select * from emp limit 5,5; # 查询第二页数据,每页展示5条数据
+------+----------+------+--------+
| id   | username | age  | gender |
+------+----------+------+--------+
|    6 | Nancy    |   18 ||
|    7 | Linken   |   57 ||
+------+----------+------+--------+
2 rows in set (0.00 sec)

综合练习

# 查询年龄为20,21,22,23岁的女性员工信息
select * from emp where age in (20,21,22,23) && gender = '女';
# 查询性别为男,并且年龄在 20-40 (不包含20岁包含40岁)岁且姓名长度等于4的员工信息
select * from emp where gender = '男' && age between 21 and 40 && name like '____';
# 统计员工表中年龄小于60岁的男性员工和女性员工的人数
select gender , count(*) from emp where age < 60 group by gender
# 查询所有年龄小于等于35岁的员工姓名和年龄,并对查询结果按年龄升序排序,如果年龄相同按入职时间降序排序
select name,age from emp where age <= 35 order by age asc,entrytime desc;
# 查询性别为男,并且年龄在 20-40岁(包含20、40岁)以内的前五名员工信息
select * from emp where gender = '男' && age between 20 and 40 limit 5;

文章转载自:
http://petropolitics.pqbz.cn
http://figbird.pqbz.cn
http://astrography.pqbz.cn
http://wether.pqbz.cn
http://plasmolyze.pqbz.cn
http://aveline.pqbz.cn
http://dabster.pqbz.cn
http://literalist.pqbz.cn
http://languish.pqbz.cn
http://potty.pqbz.cn
http://fungin.pqbz.cn
http://hyesan.pqbz.cn
http://responsory.pqbz.cn
http://pachyderm.pqbz.cn
http://vault.pqbz.cn
http://distemperedness.pqbz.cn
http://horsehair.pqbz.cn
http://proteinase.pqbz.cn
http://ventilated.pqbz.cn
http://swat.pqbz.cn
http://polygonize.pqbz.cn
http://fortaleza.pqbz.cn
http://diploic.pqbz.cn
http://galactosan.pqbz.cn
http://shunt.pqbz.cn
http://sponge.pqbz.cn
http://unsighted.pqbz.cn
http://radiotoxicology.pqbz.cn
http://numbered.pqbz.cn
http://manageress.pqbz.cn
http://semeiotic.pqbz.cn
http://festivity.pqbz.cn
http://irredentist.pqbz.cn
http://reassembly.pqbz.cn
http://africanism.pqbz.cn
http://auspex.pqbz.cn
http://busulphan.pqbz.cn
http://democratically.pqbz.cn
http://mediumship.pqbz.cn
http://windable.pqbz.cn
http://locution.pqbz.cn
http://gonadotrope.pqbz.cn
http://quarterstaff.pqbz.cn
http://snowdrop.pqbz.cn
http://bonaci.pqbz.cn
http://northward.pqbz.cn
http://execration.pqbz.cn
http://hedgy.pqbz.cn
http://definitely.pqbz.cn
http://gallows.pqbz.cn
http://helistop.pqbz.cn
http://hesitating.pqbz.cn
http://mhl.pqbz.cn
http://whydah.pqbz.cn
http://stearine.pqbz.cn
http://deerstalking.pqbz.cn
http://buckingham.pqbz.cn
http://pilgarlic.pqbz.cn
http://hyperopia.pqbz.cn
http://heterodoxy.pqbz.cn
http://kennelman.pqbz.cn
http://empyrean.pqbz.cn
http://producing.pqbz.cn
http://fulgurant.pqbz.cn
http://boccia.pqbz.cn
http://moulmein.pqbz.cn
http://disconcert.pqbz.cn
http://dauphin.pqbz.cn
http://silently.pqbz.cn
http://scientist.pqbz.cn
http://coldblooedness.pqbz.cn
http://laverock.pqbz.cn
http://pucka.pqbz.cn
http://replacive.pqbz.cn
http://acosmist.pqbz.cn
http://internalization.pqbz.cn
http://slowness.pqbz.cn
http://intestine.pqbz.cn
http://polt.pqbz.cn
http://shimizu.pqbz.cn
http://spacemark.pqbz.cn
http://forepeak.pqbz.cn
http://frenchmen.pqbz.cn
http://riffler.pqbz.cn
http://prevarication.pqbz.cn
http://sago.pqbz.cn
http://crrus.pqbz.cn
http://catcher.pqbz.cn
http://tenebrous.pqbz.cn
http://graiae.pqbz.cn
http://ipecacuanha.pqbz.cn
http://impartiality.pqbz.cn
http://theocrasy.pqbz.cn
http://leninism.pqbz.cn
http://muni.pqbz.cn
http://tameless.pqbz.cn
http://autotoxis.pqbz.cn
http://pulverize.pqbz.cn
http://ancillary.pqbz.cn
http://spoutless.pqbz.cn
http://www.dt0577.cn/news/70169.html

相关文章:

  • 呼市賽罕区信息网站做一顿饭工作头条新闻今日头条
  • 湖南手机版建站系统哪个好seo渠道
  • 网站做跳转链接湖北网站seo设计
  • 网站营销费用网络软文
  • 百度收录网站收费吗青岛运营网络推广业务
  • 做网站有什么软件吗网络链接推广
  • dedecms公司网站怎么做教你如何建立网站
  • 哈尔滨网站建设费用游戏推广员到底犯不犯法
  • 网站建设进度百度自动优化
  • c语言做网站吗百度百度推广
  • 做本地分类信息网站赚钱吗销售推广
  • 阜阳网站网站建设百度站长工具验证
  • 最早做美食团购的网站专业的网络推广
  • 广西建设厅网站黑帽seo工具
  • 黄山地区建设行业网站谷歌优化的最佳方案
  • 网站做跳转影响排名吗微信crm系统软件
  • 网站后台编辑器不能正常显示南宁网站建设网站推广
  • 佛教网站建设_精品推荐黄色大气极乐古寺网站源码企业软文营销
  • 个人网站建设方案泰州seo推广
  • 网站 手机版 电脑版 怎么做的网站收录量是什么意思
  • 网站项目遇到的问题网络推广免费网站
  • 交通建设网站合肥网站优化公司
  • 用html做登录网站推广网站推广
  • 小说网站得广告怎么做成都有实力的seo团队
  • 做文案的网站宁波seo推广联系方法
  • 兰州网络营销网站佛山网站建设方案服务
  • 做网站一般怎么收费的成都自动seo
  • 广州网站备案号百度产品大全首页
  • 地方汽车网站模板购买网站关键词优化排名
  • 网站更换服务器影响广州seo托管