Home >Database >Mysql Tutorial > SQL 综合应用(1.创建临时表,为后续查询所用) 实例_(学生,课程表,选修表)

SQL 综合应用(1.创建临时表,为后续查询所用) 实例_(学生,课程表,选修表)

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOriginal
2016-06-07 17:44:251234browse

一.需要分析 查询各班各门课程的考试人数和及格人数,要求将查询结果显示在同一个表中,包括班级,课程号,考试人数和及格人数 二.实现步骤 --1.创建临时表 "#考试人数" create table #考试人数( 班级 char(20), 课程号 char(3), 考试人数 int ) --2.查询各班各

一.需要分析

查询各班各门课程的考试人数和及格人数,要求将查询结果显示在同一个表中,包括班级,课程号,考试人数和及格人数

二.实现步骤

--1.创建临时表 "#考试人数"
create table #考试人数(
班级 char(20),
课程号 char(3),
考试人数 int
)
--2.查询各班各门课程的考试人数,并保存在临时表"#考试人数"中
insert into #考试人数
select 班级,课程号,COUNT(选修.学号) as 考试人数
from 学生 inner join 选修 on 学生.学号=选修.学号
group by 班级,课程号
--3.创建临时表"#及格人数"
create table #及格人数(
班级 char(20),
课程号 char(3),
及格人数 int
)
--4.查询各班各门课程的及格人数,并保存在临时表"#及格人数"中
insert into #及格人数
select 班级,课程号,COUNT(选修.学号) as 及格人数
from 学生 inner join 选修 on 学生.学号=选修.学号
where 成绩>60
group by 班级,课程号
--5.将两个临时表进行左连接,得出最后的查询结果
select #考试人数.班级,#考试人数.课程号,考试人数,及格人数
from #考试人数 left join #及格人数 on #考试人数.班级=#及格人数.班级 and #考试人数.课程号=#及格人数.课程号

三.查询结果如图所示

,免备案空间,虚拟主机,美国空间
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn