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');
数据表准备完毕。
3.DQL语句之简单的基础查询
3.1.查询表中指定的多个字段的数据
语法格式:
SELECT 字段1, 字段2, 字段3 ... FROM 表名 ;
查询表中name、xb、nl、zjhm、wjzymjtyy字段的数据。
select name,xb,nl,zjhm,wjzymjtyy from jszx_xgymjzxxb;
查看查询的结果。
3.2.查询表中所有字段的数据
select*from jszx_xgymjzxxb;
查看查询的结果,所有字段的数据都已经列出来了。
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;
查看查询的结果,已经为指定的查询字段设置了中文别名。
3.4.查询表中所在地字段的数据并且去掉重复值
去重的命令格式:
SELECT DISTINCT 字段列表 FROM 表名;
selectdistinct szd from jszx_xgymjzxxb;
查看查询的结果,自当将重复值进行了去重。
版权归原作者 Jiangxl~ 所有, 如有侵权,请联系我们删除。