数据库操作-DQL

一、介绍

DQL英文全称是Data Query Language(数据查询语言),用来查询数据库表中的记录。

查询关键字:SELECT

二、语法

DQL查询语句,语法结构如下:

SELECT
    字段列表
FROM
    表名列表
WHERE
    条件列表
GROUP  BY
    分组字段列表
HAVING
    分组后条件列表
ORDER BY
    排序字段列表
LIMIT
    分页参数
2.1 基本查询

在基本查询的DQL语句中,不带任何的查询条件,语法如下:

  • 查询多个字段

    select 字段1, 字段2, 字段3 from  表名;
  • 查询所有字段(通配符)

    select *  from  表名;
  • 设置别名

    select 字段1 [ as 别名1 ] , 字段2 [ as 别名2 ]  from  表名;
  • 去除重复记录

    select distinct 字段列表 from  表名;
2.2 条件查询
  • 语法:
select  字段列表  from   表名   where   条件列表 ; -- 条件列表:意味着可以有多个条件

在SQL语句当中构造条件的运算符分为两类:

  • 比较运算符

  • 逻辑运算符

常用的比较运算符如下:

比较运算符功能
>大于
>=大于等于
<小于
<=小于等于
=等于
<> 或 !=不等于
between ... and ...在某个范围之内(含最小、最大值)
in(...)在in之后的列表中的值,多选一
like 占位符模糊匹配(_匹配单个字符, %匹配任意个字符)
is null是null

常用的逻辑运算符如下:

逻辑运算符功能
and 或 &&并且 (多个条件同时成立)
or 或 ||或者 (多个条件任意一个成立)
not 或 !非 , 不是
2.3 分组查询
  • 聚合函数

使用聚合函数查询就是纵向查询,它是对一列的值进行计算,然后返回一个结果值。

常用聚合函数:

函数功能
count统计数量(按照列去统计有多少行数据。)
max最大值(计算指定列的最大值)
min最小值(计算指定列的最小值)
avg平均值(计算指定列的平均值)
sum求和(计算指定列的数值和,如果不是数值类型,那么计算结果为0)

注意 : 聚合函数会忽略空值,对NULL值不作为统计。

  • 分组查询

分组: 按照某一列或者某几列,把相同的数据进行合并输出。

分组查询通常会使用聚合函数进行计算。

语法:

select  字段列表  from  表名  [where 条件]  group by 分组字段名  [having 分组后过滤条件];

注意:

• 分组之后,查询的字段一般为聚合函数和分组字段,查询其他字段无任何意义

• 执行顺序:where > 聚合函数 > having

where与having区别

  • 执行时机不同:where是分组之前进行过滤,不满足where条件,不参与分组;而having是分组之后对结果进行过滤。

  • 判断条件不同:where不能对聚合函数进行判断,而having可以。

2.4 排序查询

语法:

select  字段列表  
from   表名   
[where  条件列表] 
[group by  分组字段 ] 
order  by  字段1  排序方式1 , 字段2  排序方式2 … ;

排序方式:

  • ASC :升序(默认值)

  • DESC:降序

注意:如果是多字段排序,当第一个字段值相同时,才会根据第二个字段进行排序

2.5 分页查询

语法:

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

注意:

• 起始索引从0开始。 计算公式:起始索引 = (查询页码 - 1)* 每页显示记录数

• 不同的数据库分页查询有不同的实现,MySQL中是LIMIT,Oracle中是ROWNUM

• 如果查询的是第一页数据,起始索引可以省略,直接简写为 limit 条数

  • 41
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值