无锡大型设计网站报价,网站推广排名,信宜网站设计公司,怎么维护好网站DQL#xff1a;用来查询数据库表中的记录
关键字#xff1a;SELECT
语法#xff1a; select#xff1a;字段列表 from#xff1a;表名列表 where#xff1a;条件列表 group by#xff1a;分组列表 having#xff1a;分组后条件列表 order by#xff1a;排序字段列表…DQL用来查询数据库表中的记录
关键字SELECT
语法 select字段列表 from表名列表 where条件列表 group by分组列表 having分组后条件列表 order by排序字段列表 limit分页参数 DQL-基本查询 查询多个字段select 字段1字段2字段3 from 表名 查询所有字段通配符select*from 表名 设置别名select 字段1[as 别名1]字段2[as 别名] from 表名 去除重复记录:select distinct 字段列表 from 表名 示例
select name, entrydate from tb_emp;select *
from tb_emp; select name as 姓名, entrydate as 入职日期 from tb_emp;select distinct job from tb_emp;DQL-条件查询 条件查询select 字段列表 from where 条件列表 示例
select *
from tb_emp where name杨逍; select *
from tb_emp where id5; select *
from tb_emp where job is null; select *
from tb_emp where job is not null; select *from tb_emp where password!123456; select *
from tb_emp
where entrydate between 2001-01-01 and 2010-01-01 and gender 2; select *
from tb_emp
where job in (2, 3, 4); select *
from tb_emp
where name like __; select *
from tb_emp
where name like 张%;DQL-分组查询
介绍将一列数据作为一个整体进行纵向计算
语法select聚合函数字段列表from 表名 函数 count统计数量 max最大值 min最小值 avg平均值 sum: 求和 示例
select count(id)from tb_emp;
select count(0)from tb_emp;
select count(*)from tb_emp; select min(entrydate)from tb_emp; select avg(id)from tb_emp; 注意null值不参与所有聚合函数运算 统计数量可以用count* count字段 count常量 推荐count*
DQL-分组查询 select 字段列表 from 表名 [where 条件] group by 分组字段名 [having 分组后过滤条件]
select gender,count(*) from tb_emp group by gender; select job ,count(*) from tb_emp where entrydate2015-01-01 group by job having count(*)2; where和having区别 1.执行时机不同where是分组之前进行过滤不满足where条件不参与where条件不参与分组而having是分组之后对结果进行过滤 2.判断条件不同where不能对聚合函数进行判断而having可以 DQL-排序查询 条件查询 select 字段列表 from 表名 [where 条件] [group by 分组字段]order by字段1 排序方式1字段2 排序方式2 ASC升序默认值 DESC降序 示例
select *
from tb_emp order by entrydate; select *
from tb_emp order by entrydate ,update_time desc ; DQL-分页查询 select 字段列表 from 表名 limit 起始索引查询记录数
示例
select *
from tb_emp limit 0,5; 注意 1.起始索引从0开始起始索引查询页码-1*每页显示记录数 2.分页查询是数据库的方言不同的数据库有不同的实现MySQL中是LIMT 3.如果查询的是第一页数据起始索引可以省略直接简写为limit10 案例
select *
from tb_emp
where name like 张%and gender 1and entrydate between 2000-01-01 and 2015-01-01
order by update_time desc
limit 0,10; select (case job when 1 then 班主任 when 2 then 讲师 when 3 then 学工主管 when 4 then 教研主管else未分配end)职位,
count(*)
from tb_emp group by job;