having与子查询 查询各门课程超过80分的学生姓名
本文导语: 一,表结构及内容 代码示例: CREATE TABLE IF NOT EXISTS `student` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(10) NOT NULL, `subject` varchar(10) NOT NULL, `score` int(11) NOT NULL, PRIMARY KEY (`id`) ) #--插入数据 INSERT INTO `student` (`id`, `n...
一,表结构及内容
CREATE TABLE IF NOT EXISTS `student` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(10) NOT NULL,
`subject` varchar(10) NOT NULL,
`score` int(11) NOT NULL,
PRIMARY KEY (`id`)
)
#--插入数据
INSERT INTO `student` (`id`, `name`, `subject`, `score`) VALUES
(1, '小明', '英文', 80),
(2, '小明', '数学', 79),
(3, '小明', '语文', 81),
(4, '小刚', '英文', 80),
(5, '小刚', '数学', 80),
(6, '小刚', '语文', 80),
(7, '小红', '英文', 90),
(8, '小红', '数学', 90),
(9, '小红', '语文', 81);
二,查询各门课程超过80分的学生姓名,使用having子句、子查询。
#方法一
select name from student group by name having in(score)>80
#方法二
select distinct name from student where name not in (
select name from student where score80 group by name having COUNT(*)>1
您可能感兴趣的文章:
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。