当前位置: 首页 > news >正文

北京做网络工程公司的网站网站后台编辑技巧

北京做网络工程公司的网站,网站后台编辑技巧,网站建设方案样本,如何做网上推广产品1、having关键字概览 1.1、作用 对查询的数据进行筛选 1.2、having关键字产生的原因 使用where对查询的数据进行筛选时,where子句中无法使用聚合函数,所以引出having关键字 1.3、having使用语法 having单独使用(不与group by一起使用&a…

1、having关键字概览

1.1、作用

  • 对查询的数据进行筛选

1.2、having关键字产生的原因

  • 使用where对查询的数据进行筛选时,where子句中无法使用聚合函数,所以引出having关键字

1.3、having使用语法

  • having单独使用(不与group by一起使用,在Oracle中会报错),单独使用时,大部分场合与where相同
  • having与group by一起使用,这是having关键字产生的初衷,对分组之后的数据再进行筛选

1.4、having与where的区别

  1. 一般情况下,where用于过滤数据行,而having用于过滤分组(能用where的地方,不要使用having)
  2. where中不能出现聚合函数,而having可以使用聚合函数作为条件
  3. where在数据分组前进行过滤,而having在数据分组后进行过滤(因此where效率一般比having高);where是数据从磁盘读入内存时筛选,而having是在内存中筛选
  4. where是对数据库文件过滤(过滤条件是表中的字段),而having是对select中查询的字段进行过滤
  5. where子句中不能使用字段别名,而having子句中可以使用字段别名
  6. 多表关联查询时,where先筛选再联接,having先联接再筛选

2、having案例

初始化表(以student表为例):

create table if not exists student
(id int null,name varchar(50) null,age int null,sex varchar(2) null,score double null
)
comment '学生表';INSERT INTO student (id, name, age, sex, score) VALUES (1, '张三', 18, '男', 70);
INSERT INTO student (id, name, age, sex, score) VALUES (2, '李四', 17, '男', 60);
INSERT INTO student (id, name, age, sex, score) VALUES (3, '王五', 19, '男', 80);
INSERT INTO student (id, name, age, sex, score) VALUES (4, '赵六', 16, '男', 90);
INSERT INTO student (id, name, age, sex, score) VALUES (5, '七七', 16, '女', 95);
INSERT INTO student (id, name, age, sex, score) VALUES (6, '九九', 17, '女', 85);
INSERT INTO student (id, name, age, sex, score) VALUES (7, '十一', 18, '女', 80);
INSERT INTO student (id, name, age, sex, score) VALUES (8, '小明', 19, '男', 90);
INSERT INTO student (id, name, age, sex, score) VALUES (9, '小军', 17, '男', 55);
INSERT INTO student (id, name, age, sex, score) VALUES (10, '小雷', 19, '女', 60);

2.1、having单独使用

案例1:查询学生表中,成绩在80分以上的数据

select * from student having score >= 80

等同于:

select * from student where score >= 80

having使用的错误:

select id,name,age 
from student 
having score >= 80 -- 报错,score筛选条件没有出现在select中

where使用的错误:

selectid,name,age,score as fenshu
from student
where fenshu >= 80 -- 报错,where子句中不能使用字段别名

2.2、having与group by一起使用

案例2:求各个年龄段的平均分和年龄

select age,avg(score) from student group by age

如下:

 案例3:求学生平均分大于80分的年龄段及平均分

  • 这里只能使用having,对平均分进行筛选,使用where会报错
selectage,avg(score)
from student
group by age
having avg(score) > 80
-- 结果为16岁

案例4:查询学生年龄平均分大于80分男生的信息(姓名,男生的分数)

selectname,sex,age,score
from student
where sex = '男'
group by name,sex,age,score
having avg(score) > 80

结果:

http://www.yayakq.cn/news/126272/

相关文章:

  • 导航网站能个人备案老板合作网站开发
  • 成都网站关键排名北京建设网站公司推荐
  • 商商业网站建设wordpress外贸网站
  • 网站怎么管理济南企业建站品牌
  • 深圳建设招标网站首页30岁零基础学室内设计
  • 浙江平台网站建设找哪家怎么注册公司教程
  • win2008的iis7建网站流程金融代理平台代理加盟
  • 网站是做排行榜营销策划方案怎么做
  • 凡客诚品官方网店下载seo技术教程博客
  • 网站制作教学flash网站系统
  • 企业网站 联系我们crm系统主要干什么的
  • 在国内做敏感网站wordpress要求配置
  • 四川中天建设有限公司网站设计用哪些网站
  • 网站建设客户需求分析调查表谷歌浏览器下载安装(手机安卓版)
  • wordpress访问量统计简单网站建设优化推广
  • 做周边的网站wordpress页面添加照片
  • 东莞电子商务网站建设网站运营一月多少钱
  • ftp怎么找网站后台国内网店平台有哪些
  • 网站seo案例市场营销推广活动方案
  • 专门做老年旅游的网站wordpress 无标题
  • 推广网站联盟营销方法有哪几种
  • 咸宁制作网站上海seo推广
  • 住房和城乡规划建设局官方网站室内设计师做单网站
  • 网站运营工作ps做网站设计
  • 网站会员功能网络公司网站报价
  • 哪个网站可以做练习题东莞有哪些做网站
  • 济宁有没有专门做网站的六安做网站的
  • 企业网站搜索优化网络推广建筑工程网站定制
  • 网站关键词搜索排名wordpress伪静态结构
  • 汕头网站建设哪里找免费咨询律师在线解答