0


第六讲:SQL语句之DQL类型的数据查询语言

SQL语句之DQL类型的数据查询语言

文章目录

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

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

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

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

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

  • 基本查询,不带任何的条件。
  • 条件查询,使用WHERE语句根据不用的条件进行查询。
  • 聚合函数,例如count、max、min、avg、sum,主要和分组查询配合使用。
  • 分组查询,使用groupby实现分组查询。
  • 排序查询,使用order by实现排序查询。
  • 分页查询,每一页显示多少条积木,通过limit实现。

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

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

表结构如下:

droptableifexists jszx_xgymjzxxb;createtable jszx_xgymjzxxb (
    id intcomment'编号',
    bm varchar(10)comment'部门',
    name varchar(10)comment'姓名',
    xb char(1)comment'性别',
    nl intcomment'年龄',
    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 datecomment'最后一次接种疫苗的时间')comment'技术中心新冠疫苗接种信息表';

数据如下:

insertinto 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');insertinto 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');insertinto 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');insertinto 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');insertinto 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');insertinto 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');insertinto 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');insertinto 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');insertinto 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');insertinto 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');insertinto 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');insertinto 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');insertinto 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');insertinto 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');insertinto 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');

数据表准备完毕。

image-20220507221238293

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

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

语法格式:

SELECT 字段1, 字段2, 字段3 ... FROM 表名 ;

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

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

查看查询的结果。

image-20220507210218727

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

select*from jszx_xgymjzxxb;

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

image-20220507210756048

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;

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

image-20220507210830448

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

去重的命令格式:

SELECT DISTINCT 字段列表 FROM 表名;
selectdistinct szd from jszx_xgymjzxxb;

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

image-20220507210851682

标签: sql 数据库 MySQL

本文转载自: https://blog.csdn.net/weixin_44953658/article/details/126358871
版权归原作者 Jiangxl~ 所有, 如有侵权,请联系我们删除。

“第六讲:SQL语句之DQL类型的数据查询语言”的评论:

还没有评论