数据查询语言

本文深入探讨了SQL数据查询语言的基础和高级用法,包括不带条件和带条件的查询,别名查询,去重,排序,聚合函数以及分组。讲解了各种比较和逻辑运算符,如IN和BETWEEN,以及模糊查询LIKE。还介绍了ORDER BY用于排序,以及GROUP BY和HAVING用于聚合和分组。这些概念和技巧对于数据库管理和数据分析至关重要。
摘要由CSDN通过智能技术生成

DQL数据查询语言

  • 不带条件的查询
查询所有列数据
  1. 写出所有列名
SELECT 字段名1,字段名2,... FROM 表名;
  1. 使用*表示所有列
SELECT * FROM 表名;
查询指定列数据
SELECT 字段名1,字段名2 FROM 表名;
别名查询

查询时给列,表指定别名: AS 关键字

SELECT 字段名1 AS 别名 FROM 表名 AS 别名;

AS 可省略

查询结果去重
SELECT DISTINCT 字段名 FROM 表名;
  • 条件查询
SELECT 字段名 FROM 表名 WHERE 条件;
比较运算符:

>大于
<小于
<=小于等于
>=大于等于
=等于
<>!=不等于

逻辑运算符:

and(&&) 多个条件同时满足 一假即假
or(||) 多个条件其中一个满足 一真即真
not(!) 不满足 取反

IN关键字
SELECT * FROM 表名 WHERE id IN (2,4,6);

id等于2,4,6的记录都会显示

BETWEEN关键字
BETWEEN1 AND2 

范围在–>[值1,值2],包头又包尾

  • 模糊查询LIKE
SELECT * FROM 表名 WHERE 字段名 LIKE '通配符字符串';

满足通配符字符串的数据就会显示
mysql通配符:
% : 零到多个任意字符
_ : 一个字符

  • 排序 ORDER BY
SELECT 字段 FROM 表名 ORDER BY 排序的字段 ASC/DESC;

ASC: 升序排序
DESC: 降序排序
不写默认是升序排序

组合排序

先按第一个字段排序,如果第一个字段相同再按第二字段排序

SELECT 字段名 FROM 表名 WHERE 条件 ORDER BY 字段名1 ASC,字段名2 DESC;
  • 聚合函数
SELECT  聚合函数(字段) FROM 表名;

常用聚合函数:
count: 根据指定列,统计有多少行数据,如果列中有为null,的行,该行不会被统计
sum: 计算指定列的数值和,如果不是数值类型,计算结果为0
max: 计算指定列的最大值
min: 计算指定列的最小值
avg: 计算指定列的平均值

  • 分组GROUP BY
SELECT * FROM 表名 GROUP BY 字段名

注意:
一旦使用了分组函数,那么最终在显示的时候,只能显示被分组的列或者聚合函数。
在sql语句中的where 后面不允许添加聚合函数,可以使用having条件,表示分组之后的条件,在having后面可以书写聚合函数。
having必须和group by 一起使用,having和where的用法一模一样。

where和having的区别?

  • having是在分组后对数据进行过滤,where是在分组前对数据进行过滤
  • having后面可以使用聚合函数,where后面不可以使用聚合函数
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值