数据库基础—数据查询语言(DQL)

发布时间 2023-08-01 22:47:33作者: 母粒

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

一.基础查询

1.查询多个字段

SELECT 字段1, 字段2, 字段3 ... FROM 表名 ;

2.查询所有字段

SELECT * FROM 表名 ;

3.设置别名

SELECT 字段1 [ AS 别名1 ] , 字段2 [ AS 别名2 ] ... FROM 表名;

ps:1.as可以省略

2.常用场景:条件查询,子查询,多表查询

4.去除重复记录

SELECT DISTINCT 字段 FROM 表名;

PS:1.distinct只能在select语句中使用

2.distinct必须在所有字段前面

3.如果有多个字段需要去重,则会对多个字段进行组合去重,即所有字段的数据重复才会被去重

 

二.条件查询

1.语法

SELECT 字段列表 FROM 表名 WHERE 条件列表 ;

2.常见比较运算符

> 大于
>=
大于等于
小于  
<=
小于等于
=
等于
<> 或 != 
不等于
BETWEEN ... AND ...
在某个范围之内(含最小、最大值) 
IN(...) 
在in之后的列表中的值,多选一
LIKE 占位符 
模糊匹配(_匹配单个字符, %匹配任意个字符) 
IS (not) NULL
ps:是一个整体,不能改
是NULL 
 

 

 

 

 

 

 

 

 

 

 

3.常见逻辑运算符

AND 或 && 
并且 (多个条件同时成立) 
OR 或 ||
或者 (多个条件任意一个成立)
NOT 或 ! 
非 , 不是

 

 

 

4.like的使用

4.1 语法

LIKE  '字符串'
NOT LIKE  '字符串'

4.2 %和_

% 应该是最常用的通配符了,它代表任意长度的字符串,包括0
比如: a%b 表示以字母 a 开头,以字母 b 结尾的任意长度的字符串;该字符串可以代表 ab、acb、accb、accrb 等字符串

_ 只能代表单个字符,字符的长度不能等于0,即字符长度必须等于1;相对于 % 来说, _ 肯定没这么常用
比如: a_b 可以代表 acb、adb、aub 等字符串

ps:1.匹配的字符串必须加单引号或双引号

2.like匹配的字符串是不区分大小写的,如果需要区分大小写,需要在like后加binary

 

三.聚合函数

1.常见的聚合函数

count统计数量   max最大值   min最小值   avg平均值   sum求和

2.语法

SELECT 聚合函数(字段) FROM 表名 ; 

ps:NULL值是不参与所有聚合函数运算的

 

四.分组查询

1.语法

SELECT 字段列表 FROM 表名 [ WHERE 条件 ] GROUP BY 分组字段名 [ HAVING 分组后过滤条件 ];

2.

 

五.排序查询

1.语法

SELECT 字段列表 FROM 表名 ORDER BY 字段1 排序方式1 , 字段2 排序方式2 ; 

 ps:1.ASC : 升序(默认值)   DESC: 降序

2.对多个字段排序时,只有第一个排序字段有相同的值,才会对第二个字段进行排序

 

六.限制查询

1.语法

limit 初始位置,记录数;

ps:初始位置是0

2.指定初始位置

select * from 表 limit 2,2;

3.不指定初始位置

select * from 表 limit 记录数;

4.limit+offset