【2023.9.23】SQL-DQL数据基础查询学习

        DQL-语法

SELECT

字段列表

FROM 表名列表
WHERE 条件列表
GROUP BY 分组字段列表
HAVING 分组后条件列表
ORDER BY 排序字段列表
LIMIT 分页参数

查询关键字:SELECT


①DQL-基本查询:

/*1.查询多个字段*/
SELECT 字段1,字段2,字段3... FROM 表名;
SELECT * FROM 表名;

/*2.设置别名*/
SELECT 字段1 [AS 别名1],字段2[AS 别名2]... FROM 表名;

/*3.去除重复记录*/
SELECT DISTINCT  字段列表  FROM  表名;

②DQL-条件查询:

1.语法

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

2.条件

比较运算符 功能
>,<,>=,<=,=,<>或!= 大于、小于、大于或等于......不等于
BETWEEN...AND... 在某个范围之内(闭区间)
IN(......) 在in之后的列表中的值,多选一
LIKE 占位符 模糊匹配(_匹配单个字符,%匹配任意字符)
IS NULL 是空值
逻辑运算符 功能
AND 或 &&
OR 或 ||

NOT 或 !

③DQL-分组查询:

聚合函数:将一列数据作为整体进行纵向运算

常见聚合函数如下

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

聚合函数使用语法:

SELECT count(id) from employee;

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

分组查询:

1.语法

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

2.WHERE中不可使用聚合函数,但HAVING中可以。


④DQL-排序查询:

1.语法

SELECT 字段列表 FROM 表名 ORDER BY 字段1 排序方式1,字段2 排序方式2;......
/*支持多字段排序,代码先后表示排序优先级*/

2.排序方式

asc 升序排序(默认)
desc 降序排序

⑤DQL-分页查询:

1.语法:

SELECT 字段列表 FROM 表名 LIMIT 起始索引,查询记录数;

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

若查询的是第一页数据,则起始索引可省略,直接简写为 limit 10。

DQL语句总练习:

/*--1.查询年龄为20,21,22,23岁的女性员工信息--*/
select * from emp where gender = '女' and age in (20,21,22,23);

/*--2.查询性别为男,且年龄在20-40岁的姓名为三个字的员工信息--*/
select * from emp where gender = '男' and age between 20 and 40 and name like '___';

/*--3.统计员工表中,年龄小于60岁的,男性员工和女性员工的人数--*/
select gender,count(*) from emp where age < 60 group by gender;

/*--4.查询所有年龄小于等于35岁员工的姓名和年龄,并对查询结果按年龄升序排序,
如果年龄相同按入职时间降序排序--*/
select name,age from emp where age <= 35 order by asc ,entrydate desc;


/*--5.查询性别为男,且年龄在20-40岁的前5个员工信息,对查询结果按年龄升序排序,
如果年龄相同按入职时间升序排序--*/
select * from emp where gender = '男' and age between 20 and 40 order by asc ,entrydate asc limit 5;

DQL语句的执行顺序:FROM WHERE,GROUP BY,HAVING,SELECT,ORDER BY,LIMIT

你可能感兴趣的:(学习日志,学习,sql,mysql,数据库)