SQL数据查询之DQL语言介绍

目录
  • 1.DQL类型的SQL语句基本概述
  • 2.准备一张可以练习查询的数据表
  • 3.DQL语句之简单的基础查询
    • 3.1.查询表中指定的多个字段的数据
    • 3.2.查询表中所有字段的数据
    • 3.3.查询表中数据时为字段设置别名
    • 3.4.查询表中所在地字段的数据并且去掉重复值

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;

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

到此这篇关于SQL数据查询之DQL语言介绍的文章就介绍到这了,更多相关SQL DQL内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • 详解SQL中的DQL查询语言

    DQL DQL:data Query language 数据查询语言 格式:select[distinct] 字段1,字段2 from 表名 where 控制条件 (distinct: 显示结果时,是否去除重复列 给哪一列去重就在哪一列字段前加入distinct) 学生表 (1)查询表中的所有信息 SELECT * FROM student (2)查询表中的所有学生姓名和对应的英语成绩 SELECT name,english FROM student 注:可显示部分字段,如果显示哪列数据,就直接

  • MySQL的 DDL和DML和DQL的基本语法详解

    目录 一.DDL(数据定义语言) 二.DML(数据操作语言) 三.DQL(数据查询语言) 四.聚合函数 前言 SQL语句,即结构化查询语言(Structured Query Language),是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询.更新和管理关系数据库系统,同时也是数据库脚本文件的扩展名. SQL标准规定的SQL语句分为:DDL(Data Define Language 数据定义语言).  DML(Data Manipulation Language 数

  • MySQL 使用DQL命令查询数据的实现方法

    本篇文章博主将带大家一起学习MySQL中常用的数据查询语言. DQL(Data Query Language 数据查询语言) SELECT 语法 SELECT [ALL | DISTINCT] { * | table.* | [table.field1 [as alias1][,table.field2] [as alias2][,...]]} FROM table_name [as table_alias] [left | out | inner join table_name2] #联合查询

  • mysql语法之DQL操作详解

    目录 简单查询 运算符查询 排序查询 聚合查询 分组查询 分页查询 一张表查询结果插入到另一张表 SQL语句分析 DQL小练习1 DQL小练习2 正则表达式 总结 DQL(Data Query Language),数据查询语言,主要是用来查询数据的,这也是SQL中最重要的部分! 简单查询 #DQL操作之基本查询 #创建数据库 CREATE DATABASE IF NOT EXISTS mydb2; #使用数据库 USE mydb2; #创建表 CREATE TABLE IF NOT EXISTS

  • Mysql学习之数据库检索语句DQL大全小白篇

    目录 1.简单检索数据 2.排序检索数据 2.1.基本语法 2.2.指定排序方向 3.检索过滤数据 3.1使用简单where子句 3.2组合where子句 3.3使用通配符 4.使用正则表达式检索数据 5.检索计算字段 5.1使用拼接字段 5.2使用别名 5.3执行算数计算 6.使用函数检索数据 6.1常用文本处理函数: 6.2日期和时间处理函数: 6.3数值处理函数: 6.4聚集函数: 7.分组检索数据 7.1.简单分组 7.2过滤分组: 8.使用子查询检索数据 8.1子查询简介 8.2各种子

  • MySQL数据库操作DQL正则表达式

    前言: 正则表达式(regular expression)描述了一种字符串匹配的规则,正则表达式本身就是一个字符串,使用这个字符串来描述.用来定义匹配规则,匹配一系列符合某个句法规则的字符串.在开发中,正则表达式通常被用来检索.替换那些符合某个规则的文本. MySQL通过REGEXP关键字支持正则表达式进行字符串匹配. -- ^ 在字符串开始处进行匹配 SELECT 'abc' REGEXP '^a'; -- 1 -- $ 在字符串末尾开始匹配 SELECT 'abc' REGEXP 'a$';

  • SQL数据查询之DQL语言介绍

    目录 1.DQL类型的SQL语句基本概述 2.准备一张可以练习查询的数据表 3.DQL语句之简单的基础查询 3.1.查询表中指定的多个字段的数据 3.2.查询表中所有字段的数据 3.3.查询表中数据时为字段设置别名 3.4.查询表中所在地字段的数据并且去掉重复值 1.DQL类型的SQL语句基本概述 DQL类型的SQL语言全称为Data Query Language,中文名称为数据查询语言,主要是用来查询数据库中的表的数据的,像关联查询.多表查询.嵌套查询都是DQL类型的SQL语言. DQL数据查

  • mybatis的mapper特殊字符转移及动态SQL条件查询小结

    目录 前言 条件查询 快速入门 if标签 where标签 choose when otherwise标签 foreach标签 场景案例 前言 我们知道在项目开发中之前使用数据库查询,都是基于jdbc,进行连接查询,然后是高级一点jdbcTemplate进行查询,但是我们发现还是不是很方便,有大量重复sql语句,与代码偶合,效率低下,于是就衍生出来ORM框架,如Mybatis,Hibernate,还有SpringBoot的,Spring Data JPA 条件查询 我们知道在mybatis map

  • MySQL与PHP的基础与应用专题之数据查询

    目录 概述 条件查询 例1 例2 运算符IN 例1 例2 运算符Like 例1 例2 概述 从今天开始, 小白我将带领大家一起来补充一下 数据库的知识. 条件查询 我们可以使用关键词Where来指定条件, 用于插入, 修改删除或者查询数据. 运算符 描述 = 等于 <> 不等于 > 大于 < 小于 >= 大于等于 <= 小于等于 between and 小于等于 and 与, 表示左右两边的条件同时成立 or 或, 表示左右两边只要有一个条件成立 表记录: 例 1 从表

  • SQL Server 2012使用Offset/Fetch Next实现分页数据查询

    在Sql Server 2012之前,实现分页主要是使用ROW_NUMBER(),在SQL Server2012,可以使用Offset ...Rows  Fetch Next ... Rows only的方式去实现分页数据查询. select [column1] ,[column2] ... ,[columnN] from [tableName] order by [columnM] offset (pageIndex-1)*pageSize rows fetch next pageSize r

  • 简析SQL Server数据库用视图来处理复杂的数据查询关系

    SQL Server数据库用视图来处理复杂的数据查询关系是本文我们主要要介绍的内容,该内容是这样想到的:在辅助教务系统那块的时候,我做的一个页面是对单个老师和整个学院老师的工作量查询,这个操作设计到了三个本数据库中的表和一个不同数据库中的一个教师信息表,如果用普通的SQL语句是非常难实现的,由于我刚开始做的视频播放系统,数据库的表相对比较少,没有涉及到这么复杂的处理关系,刚开始感觉很难. 后来想到用视图可以解决多个表的复杂关系,但是另外一张表是不同数据库的,是否依然能进行操作,经过测试之后,居然

  • C#连接SQL Sever数据库与数据查询实例之数据仓库详解

    目录 前言 1.下载后打开选择登录:Windows身份验证 2.创建登录的账号和密码(右键创建) 3.创建数据库表 表的右键新建即可 4.导入数据 这里以 信息表为例子 C#连接数据库 1.创建连接 2.打开连接 3.查询数据 总结 前言 大数据时代在编程可能需要用到一些文本内容,不可能全部写到代码里,不好更改,用户也不方便使用 所以需要用到我们的数据库来保存这些数据,直接更改数据 SQL: 下载地址:https://www.microsoft.com/zh-cn/sql-server/sql-

  • Sql Server查询性能优化之不可小觑的书签查找介绍

    小小程序猿SQL Server认知的成长 1.没毕业或工作没多久,只知道有数据库.SQL这么个东东,浑然分不清SQL和Sql Server Oracle.MySql的关系,通常认为SQL就是SQL Server 2.工作好几年了,也写过不少SQL,却浑然不知道索引为何物,只知道数据库有索引这么个东西,分不清聚集索引和非聚集索引,只知道查询慢了建个索引查询就快了,到头来索引也建了不少,查询也确实快了,偶然问之:汝建之索引为何类型?答曰:... 3.终于受到刺激开始奋发图强,买书,gg查资料终于知道

  • 使用tp框架和SQL语句查询数据表中的某字段包含某值

    有时我们需要查询某个字段是否包含某值时,通常用like进行模糊查询,但对于一些要求比较准确的查询时(例如:微信公众号的关键字回复匹配查询)就需要用到MySQL的 find_in_set()函数: 以下是用find_in_set()函数写的sq查询l语句示例: $keyword = '你好'; $sql = "select * from table_name where find_in_set('".$keyword"',msg_keyword) and msg_active

  • JSP使用JDBC完成动态验证及采用MVC完成数据查询的方法

    本文实例讲述了JSP使用JDBC完成动态验证及采用MVC完成数据查询的方法.分享给大家供大家参考.具体如下: 一.目标: ① 掌握JDBC链接数据库的基本过程: ② 掌握使用JDBC进行数据查询. 二.主要内容: ① 在上一次的实例基础上,通过连接数据库完成用户登录功能,介绍JDBC的基本用法: ② 通过显示所有用户信息进一步介绍JDBC的用法和查询结果的处理. 1.JDBC概念 Java Database Connectivity的缩写,用于连接Java应用程序与各种关系数据库的标准接口.对于

  • SpringBoot 如何使用Dataway配置数据查询接口

    目录 Dataway介绍 第一步:引入相关依赖 第二步:配置 Dataway,并初始化数据表 第三步:配置数据源 第四步:把数据源设置到 Hasor 容器中 第五步:在SprintBoot 中启用 Hasor 第六步:启动应用 第七步:访问接口管理页面进行接口配置 第八步:新建一个接口 最后总结 Dataway介绍 Dataway 是基于 DataQL 服务聚合能力,为应用提供的一个接口配置工具.使得使用者无需开发任何代码就配置一个满足需求的接口. 整个接口配置.测试.冒烟.发布.一站式都通过

随机推荐