一文带你学透MySQL核心——DQL语言

这篇具有很好参考价值的文章主要介绍了一文带你学透MySQL核心——DQL语言。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言

  本期的主要内容是关于SQL语句中的核心语句,我们在生活中使用最多的查询语句DQL语句。

一文带你学透MySQL核心——DQL语言文章来源地址https://www.toymoban.com/news/detail-478169.html

文章目录

前言

DQL 数据库查询语言 

1.介绍

2. 基本查询

2.1 查询多个字段

2.2 查询所有字段

2.3 设置别名

2.4 去除重复记录 

 2.5 基本查询练习案例

 3. 条件查询 where

3.1 语句格式

3.2 条件运算符​编辑

3.3 条件查询练习案例

4.聚合函数

4.1 介绍

4.2 聚合函数分类

4.3 语法

 4.4聚合函数练习案例

5.分组查询 group by

5.1 语句格式

5.2 where 和 having 区别 

5.3 分组查询练习案例

 6.排序查询 order by

6.1 语句格式

6.2 排序方式

6.3 排序查询练习案例 

7.分页查询 limit 

7.1语句格式

7.2 注意事项 

7.3 分页查询练习案例

 总结


DQL 数据库查询语言 

1.介绍

DQL:英文全称是Data Query Language(数据查询语言),数据查询语言,用来查询数据库中表的记录。

   可能我们感觉不到使用数据查询语言,但却是我们在现实社会中使用最多的语言。比如说我们可能遇到不会的题目,我的第一个想法是去百度搜索一下看看有没有答案,当我们在百度浏览器的文本框中输入完所要查询的内容,点击”搜索“,其实我们已经使用了数据库查询语言。

2. 基本查询

2.1 查询多个字段

Select 字段1,字段2,字段3……. from 表名;

2.2 查询所有字段

Select * from 表名;

2.3 设置别名

Select 字段1[AS 别名1],字段2[AS 别名2]…… from 表名;

[]括号中不是必须要写的。

2.4 去除重复记录 

Select distinct 字段列表 from 表名;

 2.5 基本查询练习案例

创建一个员工表其中字段包括 编号、工号、姓名、性别、年龄、身份证号、工作地址、入职时间,根据自己对上一期数据类型的了解,定义为合适的类型。

create table emp(
id int comment'编号',
workno varchar(10) comment '工号',
name varchar(10) comment '姓名',
gender char(1) comment '性别',
age tinyint unsigned comment '年龄',
idcard char(18) comment '身份证号码',
workaddress varchar(50) comment '工作地址',
entrydate date comment'入职时间') comment '工作表';

插入两条测试数据.

insert into emp values(1,'1','李飞','男',20,'123456789012345678','上海','2001-01-01'),
(2,'2','哈哈','男',22,'123456789012345678','上海','2001-01-01');

2.5.1 查询指定字段name,workno,age 

select name,workno,age from emp;

2.5.2 查询所有字段返回

select * from emp;

2.5.3查询所有员工的工作地址

select workaddress as'工作地址' from emp;

2.5.4查询公司员工的上边地址不重复

select distinct workaddress as'上班地址' from emp;

 3. 条件查询 where

3.1 语句格式

Select 字段列表 from 表名 where 条件运算;

3.2 条件运算符一文带你学透MySQL核心——DQL语言

3.3 条件查询练习案例

3.3.1 查询年龄等于22的员工

select *from emp where age=22;

3.3.2 查询年龄小于30的与共信息

select * from emp where age<30;

3.3.3 查询年龄小于等于30的与共信息

select * from emp where age<=30;

3.3.4 查询身份证号为空的员工信息

select * from emp where idcard is null;

3.3.5 查询有身份证号的员工信息

select * from emp where idcard is not null;

3.3.6 查询年龄不等于22的员工信息

select * from emp where age!=88;

3.3.7 查询年龄在2025(包括25)之间的员工信息

select * from emp where age between 20 and 25;

3.3.8 查询性别为女且年龄不少于25岁的员工信息

select * from emp where gender='女'and age>=25;

3.3.9 查询年龄为2330的员工信息

select * from emp where age=30 or age=25;
select * from emp where age in(23,30);

3.3.10 查询姓名为两个字的员工信息下__和%

select * from emp where name like'__';

3.3.11查询身份证号码最后一位为x的员工信息

select * from emp where name like'__';

4.聚合函数

4.1 介绍

将一列数据作为一个整体,进行纵向计算

4.2 聚合函数分类

一文带你学透MySQL核心——DQL语言

4.3 语法

select 聚合函数(字段列表) from 表名;

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

 4.4聚合函数练习案例

4.4.1 统计该企业员工的数量

select count(id) from emp;
select count(*) from emp;

4.4.2 统计该企业员工的平均年龄

select avg(age) from emp;

4.4.3 统计该企业员工的最大年龄

select max(age) from emp;

4.4.4 统计该企业员工的最小年龄

select min(age)from emp;

4.4.5 统计上海地区的年龄之和

select sum(age) from emp where workaddress='上海';

5.分组查询 group by

5.1 语句格式

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

5.2 where 和 having 区别 

  执行时机不同:where是分组之前尽心过滤,不满足where 条件;而having 是分组之后对结果进行过滤。

  判断条件不同:where不能对聚合函数进行判断,而having 可以。

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

  分组之后,查询的字段一般为聚合函数和分组字段,查询其他字段无任何意义。

5.3 分组查询练习案例

当前emp表内容

一文带你学透MySQL核心——DQL语言

5.3.1根据性别分组,统计男性员工和女性员工的数量

select gender,count(*) from emp group by gender;

一文带你学透MySQL核心——DQL语言

5.3.2 更具性别分组,统计男性员工和女性员工的平均年龄

一文带你学透MySQL核心——DQL语言

5.3.3 查询年龄小于25岁的员工,并更具工作地址分组,获取员工数量大于等于1的工作地址

select workaddress from emp where age<25 group by workaddress having count(*)>1;
select workaddress,count(*) from emp where age<25 group by workaddress having count(*)>1;

 6.排序查询 order by

6.1 语句格式

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

6.2 排序方式

asc:升序 默认值

Desc: 降序

注意:如果是多个字段排序,当第一个字段值相同时,才会根据第二个字段进行排序。

6.3 排序查询练习案例 

6.3.1 根据入职时间对公司的员工进行升序排序

select * from emp order by entrydate asc;

一文带你学透MySQL核心——DQL语言

6.3.2 根据入职的时间,对员工进行降序排序

select * from emp order by entrydate desc;

一文带你学透MySQL核心——DQL语言

6.3.3 根据年龄对公司的员工进行升序排序,年龄相同,在按照入职时间进行降序排序

select * from emp order by age,entrydate desc;

7.分页查询 limit 

7.1语句格式

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

7.2 注意事项 

1.起始索引从0开始,起始索引= (查询页码-1)* 每页显示记录数。
2.分页查询是数据库的方言,不同的数据库有不同的实现,MySQL中是LIMIT。
3.如果查询的是第一页数据,起始索引可以省略,直接简写为 limit 10。

7.3 分页查询练习案例

7.3.1 查询第一页的员工数据,每页显示2条数据

select * from emp limit 0,2;
select * from emp limit 2;

7.3.2 查询第2页员工数据,每页显示2条记录 

select * from emp limit 2,2;

 总结

  我相信能坚持学习到这里的各位小伙伴,你已经对MySQL数据库有了更深入的了解,数据库查询语言DQL你已经不在话下了,恭喜你!后续我们会学习函数,期待我们下期再见!


一文带你学透MySQL核心——DQL语言

到了这里,关于一文带你学透MySQL核心——DQL语言的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • 带你学C语言-指针(4)

    目录 ​编辑 ⚾0.前言 🏀1.回调函数 ⚽2.qsort 🏉2.1 qsort函数的模拟实现 🎾3.sizeof与strlen对比 🎾4.结束语         言C之言,聊C之识,以C会友,共向远方。各位CSDN的各位你们好啊,这里是持续分享C语言知识的小赵同学,今天要分享的C语言知识是深入了解指针(4),在这一章

    2024年01月20日
    浏览(42)
  • MySQL之DQL——查询语言

    前言         今天给大家带来关于数据库查询相关操作,希望各位看官能看个愉快   目录 一、基本概念 1.1、基本概念 1.2、SQL语言的分类 1.3、数据库的存储特点 二、MySQL   2.1、 MySQL服务的登录和退出   2.2、 MySQL服务的启动和停止 2.3、MySQL常见数据指令 2.4、MySQL语法规范

    2023年04月24日
    浏览(43)
  • Mysql-------SQL:DDL数据定义语言、DDM数据操作语言、DQL数据库查询语言、DQL数据控制语言

    SQL语言可以分为: DDL(Data Definition Language)语言:数据定义语言,用于 创建或更改数据库中的表、视图、索引等对象 DML(Data Manipulation Language)语言:数据操作语言,用来对 数据库表中的数据进行增删改查操作; DQL(Data Query Language)语言: 数据查询语言,用来查询数据库

    2024年02月13日
    浏览(75)
  • MySQL——DQL,DCL语言学习

    作者简介:一名云计算网络运维人员、每天分享网络与运维的技术与干货。   座右铭:低头赶路,敬事如仪 个人主页:网络豆的主页​​​​​​ 本章将会讲解MySQLDQL,DCL语言的学习。 DQL 英文全称是 Data Query Language( 数据查询语言 ) ,数据查询语言,用来查询数据库中表的

    2024年02月11日
    浏览(28)
  • 【Spring Security系列】一文带你了解权限框架与Spring Security核心概念

    权限框架是软件开发中用于管理 用户权限和访问控制 的工具。在企业或者我们毕设复杂的系统中,不同的用户或角色需要拥有不同的访问和操作权限,以确保系统的安全性和数据完整性。今天我们就讨论一下Java中的安全框架! 在企业的开发中,Spring Security,Shiro都是比较流

    2024年04月16日
    浏览(40)
  • 【MySQL】数据库的查询语言DQL

    目录 前言: 一.基本查询 1.1查询多个字段 1.2设置别名 1.3去除字段中重复的值 二.条件查询 2.1条件的种类 2.1.1比较运算符 2.1.2逻辑运算符 三.结尾   在前面讲完了如何增删改数据表中的记录后,那么如何使用这些数据就成了另一个重点。   当我们浏览网站的时候,商品的各种

    2024年02月08日
    浏览(44)
  • 【必知必会的MySQL知识】⑤DQL语言

    目录 一、前言 二、基础查询 2.1 语法 2.2 实践操作 三、条件查询 3.1 语法 3.2 where 语句操作符 3.3 实践操作 四、排序查询 4.1 语法格式 4.2 实践操作 五、分组查询 5.1 语法 5.2 聚集函数 5.2.1 聚集函数简单使用 5.3 实践操作 5.4 规定与小结 六、连接查询(多表查询) 6.1 简介 6.2 笛

    2024年02月02日
    浏览(50)
  • MySQL数据库基础(十):DQL数据查询语言

    文章目录 DQL数据查询语言 一、数据集准备 二、select查询 三、简单查询 四、条件查询 1、比较查询 2、范围查询 3、逻辑查询 4、模糊查询 5、非空查询 五、排序查询 六、聚合查询 七、分组查询与having子句 1、分组查询介绍 2、group by的使用 3、group by + 聚合函数的使用 4、gro

    2024年02月21日
    浏览(44)
  • 一文带你GO语言入门

    什么是go语言? Go语言(又称Golang)是Google开发的一种静态强类型、编译型、并发型,并具有垃圾回收功能的编程语言。Go语言的主要特点包括:- 简洁和简单 - 语法简单明快,易于学习和使用 特点 高效 编译速度快,执行效率高 并发支持 原生支持并发,利用goroutine实现高效的并发程序

    2024年02月08日
    浏览(39)
  • 【docker深入浅出】一文学透Docker基础万字好文

    Docker 最初是 dotCloud 公司创始人 Solomon Hykes 在法国期间发起的一个公司内部项目,它是基于 dotCloud 公司多年云服务技术的一次革新,并与2013年3月以Apache 2.0授权协议开源),主要项目代码在GitHub上进行维护。Docker项目后来还加入了 Linux 基金会,并成立推动开放容器联盟。 D

    2024年02月15日
    浏览(44)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包