SQL数据查询之DQL语言介绍

作者:Jiangxl~ 时间:2024-01-26 11:04:25 

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语言介绍

来源:https://blog.csdn.net/weixin_44953658/article/details/126358871

标签:SQL,DQL,数据查询,类型
0
投稿

猜你喜欢

  • 合并网页中的多个script引用实现思路及代码

    2023-06-29 09:02:19
  • Python用list或dict字段模式读取文件的方法

    2022-07-16 18:29:07
  • python列表推导式操作解析

    2022-08-26 04:07:39
  • 应用技术:如何通过SQLyog分析MySQL数据库

    2009-03-25 16:53:00
  • vue.js前端网页弹框异步行为示例分析

    2024-04-28 09:21:58
  • MySQL初始密码的查看方式

    2024-01-20 20:18:48
  • Python新手入门之解释器的安装

    2023-02-14 15:41:52
  • 表单设计中的网页视觉体验

    2008-06-26 13:35:00
  • python变量赋值机制踩坑记录

    2021-08-19 08:59:44
  • pytorch神经网络之卷积层与全连接层参数的设置方法

    2023-07-11 14:21:27
  • 使用Nginx+uWsgi实现Python的Django框架站点动静分离

    2023-11-13 11:30:37
  • ThinkPHP5中如何使用redis

    2023-06-13 01:09:10
  • 常见前端面试题及答案

    2023-07-10 08:57:30
  • SQL获取第一条记录的方法(sqlserver、oracle、mysql数据库)

    2024-01-23 00:15:03
  • Python 中面向接口编程详情

    2022-05-06 19:55:41
  • python分布式计算dispy的使用详解

    2021-01-14 09:15:24
  • 浅谈JavaScript函数节流

    2024-05-03 15:59:31
  • 仿谷歌主页js动画效果实现代码

    2024-04-17 10:07:36
  • python区块链简易版交易实现示例

    2023-09-28 15:20:10
  • Go语言学习之循环语句使用详解

    2024-02-03 22:28:17
  • asp之家 网络编程 m.aspxhome.com