SQL基础之DQL

目录

1,DQL介绍

2,DQL语法

3,DQL的各种查询语句

        (1)基本查询

        (2)条件查询

        (3)聚合函数

        (4)分组查询

        (5)排序查询

        (6)分页查询


1,DQL介绍

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

        查询关键字:SELECT

2,DQL语法

SELECT        字段列表4
FROM        表名列表1
WHERE        条件列表2
GROUP BY        分组字段列表3
HAVING        分组后条件列表
ORDER BY        排序字段列表5
LIMIT        分页参数6

这里的数字123456指的是语句执行顺序。

3,DQL的各种查询语句

        (1)基本查询

--基本查询


--查询多个字段
--查询想要的字段,只将查询字段的记录显示在控制台
select 字段1, 字段2, 字段3, ... from 表名;
--例:select name, age from emp;

--查询表的所有字段,将表的所有记录显示在控制台
select * from 表名;
​--例:select * from emp;

--设置别名
select 字段1 [as 别名], 字段2 [as 别名] ... from 表名;
--例:select id as '编号' from emp;


--去除重复记录
select distinct 字段列表 from 表名;
--例:select distinct workno form emp;
​

        (2)条件查询

--语法
select 字段列表 from 表名 where 条件;
--例:select * from emp where age < 20;

        这里的条件主要有比较运算符和逻辑运算符

比较运算符功能
>大于
>=大于等于
<小于
<=小于等于
<>或!=不等于
between...and...在某个范围值之内(含最大值,最小值)
in(...)在in之后的列表中的值,多选一
like 占位符模糊匹配(_匹配单个字符, %匹配任意个字符)
is null是null
逻辑运算符功能
and 或 &&并且(多个条件同时成立)
or 或 ||或者(多个条件任意一个成立)
not 或 !非,不是

注:在使用between...and...语法时,必须是between 最小值 and 最大值。

        (3)聚合函数

        介绍:将一列数据作为一个整体,进行纵向计算。

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

        语法:

--语法
select 聚合函数(字段列表) from 表名;

--count
--例:select count(*) from emp;

--max
--例:select max(age) from emp;

--min
--例:select min(age) from emp;

--avg
--例:select avg(age) from emp;

--sum
--例:select sum(age) from emp;

        (4)分组查询

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

--例:select gender, count(gender) from employee group by gender;

        where和having的区别:

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

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

        注:

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

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

        (5)排序查询

--语法
select 字段列表 from 表名 order by 字段1 排序方式1, 字段2 排序方式2...;

--例:select name, age form emp where age > 15 order by age asc;

--排序方式
--asc 升序(默认)
--desc 降序

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

        (6)分页查询

--语法
select 字段列表 from 表名 limit 起始索引, 查询记录数;
--例:select * from emp where age between 20 and 40 and gender = '男' order by age asc having entrytime asc limit 5;

--注:
--起始索引从0开始,起始索引 = (查询页码 - 1) * 每页显示记录数。
--分页查询是数据库的方言,不同的数据库有不同的实现,MySQL中是LIMIT。
--如果查询的是第一页数据,起始索引可以省略,直接简写为limit 10;

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值