数据库:SQL分类之DQL详解

这篇具有很好参考价值的文章主要介绍了数据库:SQL分类之DQL详解。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1.DQL语法

select 

          字段列表

from

          表名列表

where

          条件列表

group by

          分组字段列表

having

          分组后条件列表

order by

          排序字段列表

limit 

          分页参数

基本查询

条件查询(where)

聚合函数(count、max、min、avg、sum )

分组查询(group by)

排序查询(order by)

分页查询 (limit)

2.基础查询 

1.查询指定字段

select 字段1,字段2,字段3 from 表名;

例:

select name,workno,age from employee;
 2.查询所有字段返回

select 字段1,字段2,字段3 from 表名;

select * from 表名;

例:

select id,workno,name,gender,age,idcard,workaddress,entrydate from employee;

select * from employee;
 3.设置别名

select 字段 as 别名 from 表名;

例: 

select workaddress as '工作地址' from employee;

select workaddress as  from employee;
 4.去除重复记录

select distinct 字段列表  from 表名;

例:

select distinct workaddress '工作地址' from employee;


select distinct workaddress from employee;

3.条件查询

1.语法 

select 字段列表 from 表名 where 条件列表;

2.条件
比较运算符 功能
> 大于
>= 大于等于
< 小于
<= 小于等于
= 等于
<> 或 != 不等于
between ... and .. 在某个范围之内(含最小、最大值)
in(...) 在 in 之后的列表中的值,多选一
like 占位符 模糊匹配(_匹配单个字符,%匹配任意字符)
is NULL 是 NULL
逻辑运算符 功能
and 或 && 并且(多个条件同时成立)
OR 或 || 或者(多个条件任意一个成立)
NOT 或 ! 非、不是

 例:

select *  from employee where age = 88;

select * from employee where age <30;

select * from employee where idcard is NULL;

select * from employee where idcard is not null;

select * from employee where age != 88;

select *from employee  where age in(19,20,21);

//查找名字是两个字的员工
select *from employee where name like '__';//注意这里面是两个下划线

//查找身份证最后一位是X的员工
select *from employee where idcard like '%X';
select *from employee where idcard like '_________________X';// 17个下划线

 4.聚合函数

1.聚合函数:将一列数据作为一个整体,进行纵向计算。

常见的聚合函数
函数 功能
count 统计数量
max 最大值
min 最小值
sum 求和
avg 平均值

2.语法:

select 聚合函数 (字段列表) from 表名;

例:

select count(*) from employee;

select count(id) from employee;

select * from employee where workaddress = '西安';

select sum(age) from employee where workaddress = '西安';

注意:NULL 值不参与所有聚合函数运算。

5.分组查询 

1.语法

select 字段列表 from 表名 (where 条件)group by 分组字段名 (having 分组后过滤条件)

注意:

  • 执行顺序:where > 聚合函数 > having
  • 分组之后,查询的字段一般为聚合函数和分组字段,查询其他字段无任何意义。
2.where 和 having 的区别
  1. 执行时间不同:where 是分组之前进行过滤,不满足 where 条件,不参与分组;而 having 是分组之后对结果进行过滤。
  2. 判断条件不同:where 不能对聚合函数进行判断,而 having 可以。

例:

//查询性别分组,统计男性员工 和 女性员工 的数量
select gender,count(*) from employee group by gender;

//根据性别分组,统计男性员工 和 女性员工 的平均年龄
select gender,avg(age) from employee group by gender;

//查询员工年龄小于30,并根据工作地址分组
select workaddress,count(*) from employee where age < 30 group by workaddress ;

//查询员工年龄小于30,并根据工作地址分组,获取员工数量大于等于2的工作地址

select workaddress,count(*) from employee where age < 30 group by workaddress having count(*) >= 2;

 6.排序查询

1.语法

select 字段列表  from 表名 order by 字段1 排序方式1,字段2 排序方式2;

例: 

//年龄升序排序
select * from employee order by age asc;

//年龄进行倒序
select * from employee order by age desc;

//先按照年龄升序排序,再根据入职时间降序
select * from employee order by age asc, entrydate desc;

 7.分页查询

1.语法

select 字段列表 from 表名 limit 起始索引,查询记录数;

注意 :

  • 起始索引从0开始,起始索引 = (查询页码 - 1)* 每页显示记录数。
  • 分页查询是数据库的方言,不同的数据库有不同的实现,MySQL中是limit。
  • 如果索引的是第一页数据,起始索引可以省略,直接简写成 limit 10。

例:

//查询第一页员工数据,每页展示10条记录
select * from employee limit 0,10;

//查询第二页员工数据,每页展示10条数据
select *from employee limit 10,10;

8.执行顺序

数据库:SQL分类之DQL详解,数据库,sql

9.课后训练

 为了对大家的知识进行巩固,我准备了下面一些例题,大家可以试试看。稍后我会把答案放置评论区。

1.查询年龄为20,21,24的女性员工信息

2.查询性别为男,并且年龄在25-29(含)岁以内的姓名为三个字的员工

3.年龄小于60岁,男性员工和女性员工的人数

4.查询年龄小于等于35岁的员工姓名和年龄,并对查询结果按年龄升序排序,如果年龄相同,按入职时间降序排序

5.性别为男,且年龄在23-25之间的前5个员工的信息,并对查询结果按年龄升序排序,如果年龄相同,按入职时间降序排序

本节知识讲解就到此结束啦,下期再见! 文章来源地址https://www.toymoban.com/news/detail-852103.html

到了这里,关于数据库:SQL分类之DQL详解的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • SQL语言的分类:DDL(数据库、表的增、删、改)、DML(数据的增、删、改)

    SQL语言的分类:DDL(数据库、表的增、删、改)、DML(数据的增、删、改)

    数据库管理系统(数据库软件)功能非常多,不仅仅是存储数据,还要包含:数据的管理、表的管理、库的管理、账户管理、权限管理等。 操作数据库的SQL语言,基于功能,划分为4类: 1、数据定义:DDL(Data Definition Language) 2、数据操纵:DML(Data Manipulation Language) 3、数据

    2024年02月09日
    浏览(12)
  • SQL语句创建数据库详解

    在SQL中,创建数据库的语句通常是使用 CREATE DATABASE 语句。让我们来详细解释一下这个语句,并通过一个示例来说明如何创建数据库。 CREATE DATABASE语句详解 CREATE DATABASE 语句用于在数据库管理系统中创建一个新的数据库。它的基本语法如下: 其中, database_name 是要创建的数据

    2024年02月19日
    浏览(10)
  • 数据库跟踪——SQL Server Profiler详解

    数据库跟踪——SQL Server Profiler详解

    SQL Server Profiler这个工具是SQL Server数据库自带的语句执行跟踪工具,常使用于分析软件修改数据库时所执行的语句,适合用来研究软件运行数据库的原理。如果你的工作是软件运营的工作,那么这个工具还是比较常用的。 1、SQL Server Profiler工具一般都是跟着SQL Server一起安装的

    2024年02月12日
    浏览(7)
  • SQL Server存储过程(数据库引擎)使用详解

    SQL Server存储过程(数据库引擎)使用详解

    SQL Server 中的存储过程是一组一个或多个 Transact-SQL 语句的引用。过程类似于其他编程语言中的构造,因为它们可以: 接受输入参数并以输出参数的形式向调用程序返回多个值。 包含在数据库中执行操作的编程语句。其中包括调用其他过程。 向调用程序返回状态值,以指示成

    2023年04月09日
    浏览(5)
  • eclipse连接SQL Server数据库(详解很细心)

    eclipse连接SQL Server数据库(详解很细心)

    目录 第一步:启动SQl Server服务 第二步:进入数据库建库建表 第三步:进入 eclipse 编写连接数据库的代码     编写连接库的完整代码  里面的main方法是测试是否成功连接数据库 以下效果如果你的控制台输出的一样就代码数据库已连接成功

    2024年02月11日
    浏览(7)
  • SQL语句详解四-DQL(数据查询语言-约束)

    SQL语句详解四-DQL(数据查询语言-约束)

    概述:对表中的数据进行限定,保证数据的正确性,有效性和完整性。 约束分类 约束 约束意思 primary key 主键约束 not null 非空约束 unique 唯一约束 foreign key 外键约束 例子:sname varchar(40) not null, – 代表 sname 这个字段不能为 NULL 非空约束 概述:NOT NULL ,某一列的值不能

    2024年01月16日
    浏览(11)
  • SQL SERVER从一台服务器复制数据库至另一台数据库详解--方法1

    SQL SERVER从一台服务器复制数据库至另一台数据库详解--方法1

    一、 数据库的备份 1 选择想要复制的数据库   2右键点击数据库,选择任务、备份   3 生成备份文件   4 退出到主界面,右键新建数据库  5 在新建的数据库中右键选择还原,点击设备后面的三个点,在弹窗中把刚才备份的数据库文件选中。  6 点击确定以后,数据库还原完毕

    2024年02月06日
    浏览(22)
  • SQL语句详解四-DQL(数据查询语言-多表查询二)

    接下来需要用到的表 查询语法 注意:多表查询要 消除无用的数据 内连接查询 隐式内连接 使用 where 条件消除无用数据 标准格式 示例代码 查询所有员工信息和对应的部门信息 查询员工表的名称、性别,部门表的名称 显示内连接 语法 示例代码 查询所有员工信息和对应的部

    2024年01月19日
    浏览(11)
  • 【SQL Server】数据库开发指南(七)MS-SQL存储过程全面解析:种类、优点和创建方法详解

    本系列博文还在更新中,收录在专栏:#MS-SQL Server 专栏中。 本系列文章列表如下: 【SQL Server】 Linux 运维下对 SQL Server 进行安装、升级、回滚、卸载操作 【SQL Server】数据库开发指南(一)数据库设计的核心概念和基本步骤 【SQL Server】数据库开发指南(二)MSSQL数据库开发对

    2024年02月07日
    浏览(51)
  • Python SQL 数据库操作利器:SQLAlchemy 库详解(看这一篇文章就够了)

    引言: Python 是一门广受欢迎的编程语言,而 SQL 则是用于管理和操作数据库的标准查询语言。SQLAlchemy 是一个功能强大的 Python 库,它提供了一种与多种数据库进行交互的灵活方式。本文将介绍 SQLAlchemy 库,并以九个重要的要点详细解释其功能和用法。 SQLAlchemy 简介 SQLAlchem

    2024年02月07日
    浏览(6)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包