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');
数据表准备完毕。
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 表名;
select distinct szd from jszx_xgymjzxxb;
查看查询的结果,自当将重复值进行了去重。
来源:https://blog.csdn.net/weixin_44953658/article/details/126358871


猜你喜欢
- 起因因为一些事情,需要将域名解析为ip地址,想到Python作为万能语言,就用Python来实现这个功能代码import socketurl
- 一、安装github:https://github.com/kubernetes-client/python安装pip install ku
- 我们有时候看到一些文章因为一行的字符超长而把一些表格或DIV撑开或字符写到溢出了.如何防止表格防止撑开,表格不被内容撑开,单行字符超长div
- 基于requests模块发起ajax的get请求需求:爬取豆瓣电影分类排行榜 https://movie.douban.com/中的电影详情
- strconv包该包主要实现基本数据类型与其字符串表示的转换。常用函数为Atoi()、Itia()、parse系列、format系列、app
- 环境:win10+phpstorm2022+phpstudy8+lnmp1、phpinfo(); 查看是否安装xdebug,没有
- 1.新建一个vs2003的web工程,取名为XMLTest &nbs
- 本文实例为大家分享了python实现简单计算器的具体代码,供大家参考,具体内容如下今天学习到python中界面设计部分,常用的几种图形化界面
- 导言:到目前为止,我们的教程围绕的是text数据。然而,很多应用程序既需要处理text数据,也需要处理二进制数据。比如招聘网站可能需要用户上
- 本文实例为大家分享了python合并同类型excel表格的具体代码,供大家参考,具体内容如下python脚本如下,验证有效。#!/usr/b
- 批处理可以很方便地和其它各种语言混合编程,除了好玩,还有相当的实用价值,比如windows版的ruby gem包管理器就是运用了批处理和ru
- 运行cmdsqlplus/nolog 回车SQL>conn/as sysdba 回车SQL>alter user scott a
- 首先澄清一个应用场景问题。研究(1)中指出,对于结构复杂的网站,不少设计师们喜欢采用960固定宽度布局。但要注意的是,960并不是万能钥匙,
- 前面两天带着大家换了一个口味,带着大家学习了pyecharts的原理和部分图形制作。今天我们继续回归带你学MySQL系列,带着大家继续学习M
- 你不可能随时备份数据,但你的数据丢失时,或者数据库目录中的文件损坏时, 你只能恢复已经备份的文件,而在这之后的插入或更新的数据,就无能为力了
- 什么是 Socket?Socket又称"套接字",应用程序通常通过"套接字"向网络发出请求或者应答网
- 1. 初始化项目// ① npm i -g @vue/cli// ② vue create my-project// ③ npm insta
- 1. 背景golang 原生 json 包,在处理 json 对象的字段的时候,是需要严格匹配类型的。但是,实际上,当我们与一些老系统或者脚
- 在进行接口测试的时候,我们会调用多个接口发出多个请求,在这些请求中有时候需要保持一些共用的数据,例如cookies信息。妙用1request
- 本文实例为大家分享了vue+elementUI实现动态面包屑的具体代码,供大家参考,具体内容如下引言后台管理系统中,经常会出现需要面包屑的情