温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

SQL数据查询之DQL语言实例分析

发布时间:2022-08-17 10:20:08 来源:亿速云 阅读:144 作者:iii 栏目:开发技术

这篇文章主要介绍了SQL数据查询之DQL语言实例分析的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇SQL数据查询之DQL语言实例分析文章都会有所收获,下面我们一起来看看吧。

1.DQL类型的SQL语句基本概述

DQL类型的SQL语言全称为Data Query Language,中文名称为数据查询语言,主要是用来查询数据库中的表的数据的,像关联查询、多表查询、嵌套查询都是DQL类型的SQL语言。

DQL数据查询语言用到的SQL指令主要是SELECT,SELECT语法结构如下:

SELECT
    字段列表
FROM
    表名
WHERE
    条件列表
GROUP BY
    分组字段列表
HAVING
    分组后的条件列表
ORDER BY
    排序字段列表
LIMIT
    分页参数

根据查询的需求不同,可以分为以下几个部分:

  • 基本查询,不带任何的条件。

  • 条件查询,使用WHERE语句根据不用的条件进行查询。

  • 聚合函数,例如count、max、min、avg、sum,主要和分组查询配合使用。

  • 分组查询,使用groupby实现分组查询。

  • 排序查询,使用order by实现排序查询。

  • 分页查询,每一页显示多少条积木,通过limit实现。

2.准备一张可以练习查询的数据表

一张技术中心的新冠疫苗接种信息表,表结构和数据如下,用于我们练习各种类型的查询语句。

表结构如下:

drop table if exists jszx_xgymjzxxb;
create table jszx_xgymjzxxb (
    id int comment '编号',
    bm varchar(10) comment '部门',
    name varchar(10) comment '姓名',
    xb char(1) comment '性别',
    nl int comment '年龄',
    szd varchar(50) comment '所在地',
    zjhm char(18) comment '证件号码',
    wd char(1) comment '未打',
    first_injection char(1) comment '第一针',
    second_injection char(1) comment '第二针',
    third_injection char(1) comment '第三针',
    wjzymjtyy varchar(50) comment '具体原因',
    zhycjzymdsj date comment '最后一次接种疫苗的时间'
) comment '技术中心新冠疫苗接种信息表';

数据如下:

insert into jszx_xgymjzxxb (id, bm, name, xb, nl, szd, zjhm, wd, first_injection, second_injection, third_injection, wjzymjtyy, zhycjzymdsj) values ('1','运维部','江睿基','男','31','北京','110101199009154512','否','是','是','否','身体原因','2021-07-18');
insert into jszx_xgymjzxxb (id, bm, name, xb, nl, szd, zjhm, wd, first_injection, second_injection, third_injection, wjzymjtyy, zhycjzymdsj) values ('2','运维部','张希','女','28','北京','230182199412251659','否','是','是','否','身体原因','2021-03-21');
insert into jszx_xgymjzxxb (id, bm, name, xb, nl, szd, zjhm, wd, first_injection, second_injection, third_injection, wjzymjtyy, zhycjzymdsj) values ('3','运维部','张亚男','男','29','上海','13052819930918721X','否','是','是','否','身体原因','2021-09-05');
insert into jszx_xgymjzxxb (id, bm, name, xb, nl, szd, zjhm, wd, first_injection, second_injection, third_injection, wjzymjtyy, zhycjzymdsj) values ('4','测试部','吴昊泽','男','33','上海','110101198909134869','否','是','是','否','身体原因','2021-05-13');
insert into jszx_xgymjzxxb (id, bm, name, xb, nl, szd, zjhm, wd, first_injection, second_injection, third_injection, wjzymjtyy, zhycjzymdsj) values ('5','测试部','乔亮','男','32','上海','110101199009154512','否','是','是','否','身体原因','2022-07-16');
insert into jszx_xgymjzxxb (id, bm, name, xb, nl, szd, zjhm, wd, first_injection, second_injection, third_injection, wjzymjtyy, zhycjzymdsj) values ('6','测试部','张子云','女','34','上海','371522198803278716','否','是','是','否','身体原因','2021-11-18');
insert into jszx_xgymjzxxb (id, bm, name, xb, nl, szd, zjhm, wd, first_injection, second_injection, third_injection, wjzymjtyy, zhycjzymdsj) values ('7','测试部','陈国明','男','33','深圳','371522198902283975','否','是','是','否','身体原因','2022-01-19');
insert into jszx_xgymjzxxb (id, bm, name, xb, nl, szd, zjhm, wd, first_injection, second_injection, third_injection, wjzymjtyy, zhycjzymdsj) values ('8','测试部','张茜茜','女','26','深圳','140256199610213942','否','是','是','否','身体原因','2022-03-03');
insert into jszx_xgymjzxxb (id, bm, name, xb, nl, szd, zjhm, wd, first_injection, second_injection, third_injection, wjzymjtyy, zhycjzymdsj) values ('9','开发部','赵晓燕','女','23','北京','140528199909135815','否','是','是','否','身体原因','2021-11-07');
insert into jszx_xgymjzxxb (id, bm, name, xb, nl, szd, zjhm, wd, first_injection, second_injection, third_injection, wjzymjtyy, zhycjzymdsj) values ('10','开发部','王蕊蕊','女','25','北京','110101199712223817','否','是','是','否','身体原因','2021-07-26');
insert into jszx_xgymjzxxb (id, bm, name, xb, nl, szd, zjhm, wd, first_injection, second_injection, third_injection, wjzymjtyy, zhycjzymdsj) values ('11','开发部','牛泽阳','男','42','上海','110111198001031287','否','是','是','否','身体原因','2021-06-07');
insert into jszx_xgymjzxxb (id, bm, name, xb, nl, szd, zjhm, wd, first_injection, second_injection, third_injection, wjzymjtyy, zhycjzymdsj) values ('12','开发部','吴刚','男','30','上海','150221199208157849','否','是','是','否','身体原因','2021-07-29');
insert into jszx_xgymjzxxb (id, bm, name, xb, nl, szd, zjhm, wd, first_injection, second_injection, third_injection, wjzymjtyy, zhycjzymdsj) values ('13','开发部','高宇','男','23','上海','110104199904183824','否','是','是','否','身体原因','2021-09-30');
insert into jszx_xgymjzxxb (id, bm, name, xb, nl, szd, zjhm, wd, first_injection, second_injection, third_injection, wjzymjtyy, zhycjzymdsj) values ('14','开发部','刘洋','女','24','深圳','110105199809274782','否','是','是','否','身体原因','2021-02-18');
insert into jszx_xgymjzxxb (id, bm, name, xb, nl, szd, zjhm, wd, first_injection, second_injection, third_injection, wjzymjtyy, zhycjzymdsj) values ('15','开发部','王文良','男','30','深圳','110109199206056659','否','是','是','否','身体原因','2022-03-15');

数据表准备完毕。

SQL数据查询之DQL语言实例分析

3.DQL语句之简单的基础查询

3.1.查询表中指定的多个字段的数据

语法格式:SELECT 字段1, 字段2, 字段3 ... FROM 表名 ;

查询表中name、xb、nl、zjhm、wjzymjtyy字段的数据。

select name,xb,nl,zjhm,wjzymjtyy from jszx_xgymjzxxb;

查看查询的结果。

SQL数据查询之DQL语言实例分析

3.2.查询表中所有字段的数据

select * from jszx_xgymjzxxb;

查看查询的结果,所有字段的数据都已经列出来了。

SQL数据查询之DQL语言实例分析

3.3.查询表中数据时为字段设置别名

SELECT指令支持在查询数据时,为表中的字段设置别名。

命令格式:SELECT 字段1 [ AS 别名1 ] , 字段2 [ AS 别名2 ] ... FROM 表名;

或者:SELECT 字段1 [ 别名1 ] , 字段2 [ 别名2 ] ... FROM 表名;

设置别名时AS关键字可写可不写。

查询表中name、xb、nl、szd、zjhm等五个字段的数据,并为每个字段设置别名。

select name 姓名,xb 性别,nl 年龄,szd 所在地,zjhm 证件号码 from jszx_xgymjzxxb;

select name as 姓名,xb as 性别,nl 年龄,szd as 所在地,zjhm as 证件号码 from jszx_xgymjzxxb;

查看查询的结果,已经为指定的查询字段设置了中文别名。

SQL数据查询之DQL语言实例分析

3.4.查询表中所在地字段的数据并且去掉重复值

去重的命令格式:SELECT DISTINCT 字段列表 FROM 表名;

select distinct szd from jszx_xgymjzxxb;

查看查询的结果,自当将重复值进行了去重。

SQL数据查询之DQL语言实例分析

关于“SQL数据查询之DQL语言实例分析”这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对“SQL数据查询之DQL语言实例分析”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注亿速云行业资讯频道。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI