HAVING 子句
在 SQL 中增加 HAVING 子句原因是,WHERE 关键字无法与合计函数一起使用。
SQL HAVING 语法
SELECT column_name, aggregate_function(column_name)
FROM table_name
WHERE column_name operator value
GROUP BY column_name
HAVING aggregate_function(column_name) operator value
比如有学生表:
CREATE TABLE `student` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(20) DEFAULT NULL,
`course` varchar(20) DEFAULT NULL,
`score` int(11) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=10 DEFAULT CHARSET=gb2312;
数据:
insert into `student`(`id`,`name`,`course`,`score`) values (1,'张三','语文',80);
insert into `student`(`id`,`name`,`course`,`score`) values (2,'张三','数学',90);
insert into `student`(`id`,`name`,`course`,`score`) values (3,'张三','英语',80);
insert into `student`(`id`,`name`,`course`,`score`) values (4,'李四','语文',85);
insert into `student`(`id`,`name`,`course`,`score`) values (5,'李四','数学',86);
insert into `student`(`id`,`name`,`course`,`score`) values (6,'李四','外语',60);
insert into `student`(`id`,`name`,`course`,`score`) values (7,'王五','语文',90);
insert into `student`(`id`,`name`,`course`,`score`) values (8,'王五','数学',88);
insert into `student`(`id`,`name`,`course`,`score`) values (9,'王五','英语',90);
题目:统计学生成绩大于240分的学生姓名
SQL:
select s.name from student as s group by s.name having sum(s.score) > 240;
分享到:
相关推荐
T-SQL中where子句与having子句的对比分析.pdf
SQL循序渐进(12)------HAVING子句 SQL循序渐进(13)------ORDER BY子句 SQL循序渐进(14)------组合条件和布尔运算符 SQL循序渐进(15)------IN 和 BETWEEN 条件运算符 SQL循序渐进(16)------数学运算符 SQL...
SQL循序渐进(12)------HAVING子句 SQL循序渐进(13)------ORDER BY子句 SQL循序渐进(14)------组合条件和布尔运算符 SQL循序渐进(15)------IN 和 BETWEEN 条件运算符 SQL循序渐进(16)------数学运算符 SQL...
SQL循序渐进(12)------HAVING子句 SQL循序渐进(13)------ORDER BY子句 SQL循序渐进(14)------组合条件和布尔运算符 SQL循序渐进(15)------IN 和 BETWEEN 条件运算符 SQL循序渐进(16)------数学运算符 SQL...
SQL循序渐进(12)------HAVING子句 SQL循序渐进(13)------ORDER BY子句 SQL循序渐进(14)------组合条件和布尔运算符 SQL循序渐进(15)------IN 和 BETWEEN 条件运算符 SQL循序渐进(16)------数学运算符 SQL...
详析SQL语言的WHERE子句与HAVING子句.pdf
Linux运维-运维课程d2-MySQL基本SQL语句(下)-10-WHERE子句之等于大于小于不等于
Linux运维-运维课程d2-MySQL基本SQL语句(下)-15-GROUP BY子句之统计函数.mp4
(7)查询所有课程的成绩都在80分以上的学生的姓名、学号、且按学号升序排列; (8)查询缺成绩的学生的姓名,缺成绩的课程号及其学分数; (9)查询有一门以上(含一门)三个学分以上课程的成绩低于70分的学生的姓名...
它详细介绍了T-SQL的内部体系结构,包含了非常全面的编程参考,提供了使用Transact-SQL(T-SQL)的专家级指导,囊括了非常全面的编程参考,揭示了基于集合的查询的强大威力,并包含大量来自专家们的参考和建议。...
T-SQL高级语句 SQL TOP 子句 SQL LIKE 操作符 SQL 通配符 SQL IN 操作符
主要给大家介绍了关于SQL中where子句与having子句的区别的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
Linux运维-运维课程d2-MySQL基本SQL语句(下)-18-ORDER BY子句.mp4
《Microsoft SQL Server 2008技术内幕:T-SQL查询》全面深入地介绍了Microsoft SQL Server 2008中高级T-SQL查询、性能优化等方面的内容,以及SQL Server 2008新增加的一些特性。主要内容包括SQL的基础理论、查询优化...
Linux运维-运维课程d2-MySQL基本SQL语句(下)-11-WHERE子句之逻辑运算符.mp4
《Microsoft SQL Server 2008技术内幕:T-SQL查询》全面深入地介绍了Microsoft SQL Server 2008中高级T-SQL查询、性能优化等方面的内容,以及SQL Server 2008新增加的一些特性。主要内容包括SQL的基础理论、查询优化...
支持自定义查询以提供使用整个SQL语言的可能性。这是强大的,但有风险,请小心使用自定义查询。 要避免行导出重复,请使用WHERE子句中的$ @ $特殊字符,以递增方式导出未处理的行和插入的新行。 重要信息:为了...
在Oracle中having子句对group by子句所确定的行组进行控制,having子句条件中只允许涉及常量,聚组函数或group by 子句中的列。
Linux运维-运维课程d2-MySQL基本SQL语句(下)-18-ORDER BY子句.mp4
《Microsoft SQL Server 2008技术内幕:T-SQL语言基础》适合须要学习T-SQL的各级程序员和数据库专业人员,是他们快速掌握T-SQL的必备参考图书。 致谢 引言 第1章 T-SQL查询和编程基础 1.1 理论背景 1.2 ...