【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

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值