DQL的使用与理解
DQL
DQL是对表中的数据进行查询的操作。
它主要分为5个形式的查询,基础查询,条件查询,分组查询,排序查询,分页查询。
查询语法是 select 字段列表 from 表名列表 where 条件列表 group by 分组字段 having 分组后条件 order by 排序字段 limit 分页限定
基础查询--主要语法是select 字段列表 from 表名;
(1)、查询多个字段
select 字段列表 from 表名;
select * from 表名;(查询所有数据)
这是语句

这是运行结果

如果想要查询name age 两列的话
这是语句

这是运行结果

同理,如果想要查询多列,只需要将列名依次添加到age后面,然后用“,”隔开。
(2)、去除重复记录
select distinct 字段列表 from 表名;
如果想要查询address信息,则
需要以下语句

运行结果是

这明显不是我们想要的结果,因为出现了三个香港,两个湖南,怎样才能将重复的去掉呢?
其实就是在address前面加上distinct就可以
代码如下

运行结果

这明显达到了我们的需求。
(3)、起别名
as:as也可以省略
as的语法作用就是在预览的时候更加方便。
让我们看以下两种语句

其运行结果是

另一种语句

其运行结果是

这样我们可以明显的看到区别,第二种表将math,和English换成了数学和英语。这在之后会是非常容易看懂的方法。。。
条件查询--基础语法是select 字段列表 from 表名 where 条件列表;
这里补充一些条件符号
---------------------------------------------------------------------------------------------------
= 等于
<>或!= 不等于
between ...and... 在某个范围内
in(...) 多选一
like 模糊查询 _单个任意字符 %多个任意字符
is null 是null
is not null 不是null
and或&& 并且
or或|| 或者
not或! 不是
----------------------------------------------------------------------------------------------------
这里举几个不熟悉的例子
查询年龄在20岁到30岁之间的学院信息
这是初始表格

如下语句

这两种语句的运行结果都是

若查询年龄等于18或者等于20或者等于22的学院信息
如下语句

上述两种语句运行结果都是

like的模糊查询
模糊查询 _单个任意字符 %多个任意字符
初始表格

如查询姓马的学员信息
如下语句

运行结果

如查询第二个字是花的学员信息
如下语句

运行结果

如查询名字中包含德的需恶缘信息
如下语句

运行结果

排序查询--主要语法select 字段列表 from 表名 order by 排序字段1 排序方式1,排序字段2 排序方式2,...;
排序方式:
ASC 升序排列(默认)
DESC 降序排列
注意:如果有多个排序条件,当前边的条件一样时,才会根据第二条进行排序
如查询学生信息,按照数学成绩降序排列,如果数学成绩一样,再按照英语成绩升序排列
初始表格

语句如下

运行结果

分组查询--select 字段列表 from 表名 where 分组条件 group by分组字段名 having 分组后条件过滤
聚合函数--主要语法是 select 聚合函数名(列名)from 表;
注意:null值不参与所有聚合运算
-----------------------------------------------------------------------
count() 统计数量(一般不为空)
max() 最大值
min() 最小值
sum() 求和
avg() 平均值
-----------------------------------------------------------------------
注意:分组后,查询的字段为聚合函数和分组字段,查询其他字段无意义。
执行顺序:where>聚合函数>having
where和having区别:
执行时机不一样,where是分组之前进行限定,不满足where条件,则不参与分组,而having是分组之后对结果进行过滤。
可判断的条件不一样,where不能对聚合函数进行判断,having可以。
若查询男同学和女同学各自的数学平均分,以及各自人数,要求:分数低于70分的不参与分组,分组之后人数不大于2.
原始表格

如下语句

运行结果

分页查询--主要语法 select 字段列表 from 表名 limit 起始索引,查询条目数;
起始索引从0开始’
计算公式:起始索引=(当前页码-1)*每页显示的条数
这就是本次DQL的学习与分享。。。

浙公网安备 33010602011771号