1,数据库
2,数学
3,信息系统
4,操作系统
5,数据结构
6,数据处理
95002,刘晨,女,19,IS
95017,王风娟,女,18,IS
95018,王一,女,19,IS
95013,冯伟,男,21,CS
95014,王小丽,女,19,CS
95019,邢小丽,女,19,IS
95020,赵钱,男,21,IS
95003,王敏,女,22,MA
95004,张立,男,19,IS
95012,孙花,女,20,CS
95010,孔小涛,男,19,CS
95005,刘刚,男,18,MA
95006,孙庆,男,23,CS
95007,易思玲,女,19,MA
95008,李娜,女,18,CS
95021,周二,男,17,MA
95022,郑明,男,20,MA
95001,李勇,男,20,CS
95011,包小柏,男,18,MA
95009,梦圆圆,女,18,MA
95015,王君,男,18,MA
95016,钱国,男,21,MA
95001,1,81
95001,2,85
95001,3,88
95001,4,70
95002,2,90
95002,3,80
95002,4,71
95002,5,60
95003,1,82
95003,3,90
95003,5,100
95004,1,80
95004,2,92
95004,4,91
95004,5,70
95005,1,70
95005,2,92
95005,3,99
95005,6,87
95006,1,72
95006,2,62
95006,3,100
95006,4,59
95006,5,60
95006,6,98
95007,3,68
95007,4,91
95007,5,94
95007,6,78
95008,1,98
95008,3,89
95008,6,91
95009,2,81
95009,4,89
95009,6,100
95010,2,98
95010,5,90
95010,6,80
95011,1,81
95011,2,91
95011,3,81
95011,4,86
95012,1,81
95012,3,78
95012,4,85
95012,6,98
95013,1,98
95013,2,58
95013,4,88
95013,5,93
95014,1,91
95014,2,100
95014,4,98
95015,1,91
95015,3,59
95015,4,100
95015,6,95
95016,1,92
95016,2,99
95016,4,82
95017,4,82
95017,5,100
95017,6,58
95018,1,95
95018,2,100
95018,3,67
95018,4,78
95019,1,77
95019,2,90
95019,3,91
95019,4,67
95019,5,87
95020,1,66
95020,2,99
95020,5,93
95021,2,93
95021,5,91
95021,6,99
95022,3,69
95022,4,93
95022,5,82
95022,6,100
create table course
(num int,course string)
row format delimited fields terminated by ',';
load data local inpath '/home/potter/course.txt'
into table course;
create table student
(id int , name string , sex string ,age int , deparment string)
row format delimited fields terminated by ',';
load data local inpath "/home/potter/student1.txt"
into table student;
create table studentcourse
(id int,num int,score int)
row format delimited fields terminated by ',';
load data local inpath '/home/potter/studentcourse.txt'
into table studentcourse;
(1)查询全体学生的学号与姓名
select id,name from student;
结果:
95002 刘晨
95017 王风娟
95018 王一
95013 冯伟
95014 王小丽
95019 邢小丽
95020 赵钱
95003 王敏
95004 张立
95012 孙花
95010 孔小涛
95005 刘刚
95006 孙庆
95007 易思玲
95008 李娜
95021 周二
95022 郑明
95001 李勇
95011 包小柏
95009 梦圆圆
95015 王君
95016 钱国
(2)查询选修了课程的学生姓名
create table id_course as
select sc.id id,c.course course
from course c join studentcourse sc on c.num=sc.num ;
结果:
id_course.id id_course.course
95001 数据库
95001 数学
95001 信息系统
95001 操作系统
95002 数学
95002 信息系统
95002 操作系统
95002 数据结构
95003 数据库
95003 信息系统
95003 数据结构
95004 数据库
95004 数学
95004 操作系统
95004 数据结构
95005 数据库
95005 数学
95005 信息系统
95005 数据处理
95006 数据库
95006 数学
95006 信息系统
95006 操作系统
95006 数据结构
95006 数据处理
95007 信息系统
95007 操作系统
95007 数据结构
95007 数据处理
95008 数据库
95008 信息系统
95008 数据处理
95009 数学
95009 操作系统
95009 数据处理
95010 数学
95010 数据结构
95010 数据处理
95011 数据库
95011 数学
95011 信息系统
95011 操作系统
95012 数据库
95012 信息系统
95012 操作系统
95012 数据处理
95013 数据库
95013 数学
95013 操作系统
95013 数据结构
95014 数据库
95014 数学
95014 操作系统
95015 数据库
95015 信息系统
95015 操作系统
95015 数据处理
95016 数据库
95016 数学
95016 操作系统
95017 操作系统
95017 数据结构
95017 数据处理
95018 数据库
95018 数学
95018 信息系统
95018 操作系统
95019 数据库
95019 数学
95019 信息系统
95019 操作系统
95019 数据结构
95020 数据库
95020 数学
95020 数据结构
95021 数学
95021 数据结构
95021 数据处理
95022 信息系统
95022 操作系统
95022 数据结构
95022 数据处理
select ic.course, s.name
from id_course ic join student s on ic.id=s.id;
结果:
数据库 李勇
数学 李勇
信息系统 李勇
操作系统 李勇
数学 刘晨
信息系统 刘晨
操作系统 刘晨
数据结构 刘晨
数据库 王敏
信息系统 王敏
数据结构 王敏
数据库 张立
数学 张立
操作系统 张立
数据结构 张立
数据库 刘刚
数学 刘刚
信息系统 刘刚
数据处理 刘刚
数据库 孙庆
数学 孙庆
信息系统 孙庆
操作系统 孙庆
数据结构 孙庆
数据处理 孙庆
信息系统 易思玲
操作系统 易思玲
数据结构 易思玲
数据处理 易思玲
数据库 李娜
信息系统 李娜
数据处理 李娜
数学 梦圆圆
操作系统 梦圆圆
数据处理 梦圆圆
数学 孔小涛
数据结构 孔小涛
数据处理 孔小涛
数据库 包小柏
数学 包小柏
信息系统 包小柏
操作系统 包小柏
数据库 孙花
信息系统 孙花
操作系统 孙花
数据处理 孙花
数据库 冯伟
数学 冯伟
操作系统 冯伟
数据结构 冯伟
数据库 王小丽
数学 王小丽
操作系统 王小丽
数据库 王君
信息系统 王君
操作系统 王君
数据处理 王君
数据库 钱国
数学 钱国
操作系统 钱国
操作系统 王风娟
数据结构 王风娟
数据处理 王风娟
数据库 王一
数学 王一
信息系统 王一
操作系统 王一
数据库 邢小丽
数学 邢小丽
信息系统 邢小丽
操作系统 邢小丽
数据结构 邢小丽
数据库 赵钱
数学 赵钱
数据结构 赵钱
数学 周二
数据结构 周二
数据处理 周二
信息系统 郑明
操作系统 郑明
数据结构 郑明
数据处理 郑明
(1)查询学生的总人数
select count(*) from student;
结果:
22
(2)计算1号课程的学生平均成绩
select num ,avg(score)
from studentcourse where num=1 group by num;
结果:
1 83.66666666666667
(3)查询各科成绩平均分
create table course_score as
select c.course course,sc.score score
from course c join studentcourse sc on c.num=sc.num;
结果:
course_score.course course_score.score
数据库 81
数学 85
信息系统 88
操作系统 70
数学 90
信息系统 80
操作系统 71
数据结构 60
数据库 82
信息系统 90
数据结构 100
数据库 80
数学 92
操作系统 91
数据结构 70
数据库 70
数学 92
信息系统 99
数据处理 87
数据库 72
数学 62
信息系统 100
操作系统 59
数据结构 60
数据处理 98
信息系统 68
操作系统 91
数据结构 94
数据处理 78
数据库 98
信息系统 89
数据处理 91
数学 81
操作系统 89
数据处理 100
数学 98
数据结构 90
数据处理 80
数据库 81
数学 91
信息系统 81
操作系统 86
数据库 81
信息系统 78
操作系统 85
数据处理 98
数据库 98
数学 58
操作系统 88
数据结构 93
数据库 91
数学 100
操作系统 98
数据库 91
信息系统 59
操作系统 100
数据处理 95
数据库 92
数学 99
操作系统 82
操作系统 82
数据结构 100
数据处理 58
数据库 95
数学 100
信息系统 67
操作系统 78
数据库 77
数学 90
信息系统 91
操作系统 67
数据结构 87
数据库 66
数学 99
数据结构 93
数学 93
数据结构 91
数据处理 99
信息系统 69
操作系统 93
数据结构 82
数据处理 100
select course ,avg(score)
from course_score group by course;
结果:
信息系统 81.46153846153847
操作系统 83.125
数学 88.66666666666667
数据处理 89.45454545454545
数据库 83.66666666666667
数据结构 85.0
(4)查询选修1号课程的学生最高分数
create table num_score as
select c.num num,sc.score score
from course c join studentcourse sc on c.num=sc.num;
结果:
num_score.num num_score.score
1 81
2 85
3 88
4 70
2 90
3 80
4 71
5 60
1 82
3 90
5 100
1 80
2 92
4 91
5 70
1 70
2 92
3 99
6 87
1 72
2 62
3 100
4 59
5 60
6 98
3 68
4 91
5 94
6 78
1 98
3 89
6 91
2 81
4 89
6 100
2 98
5 90
6 80
1 81
2 91
3 81
4 86
1 81
3 78
4 85
6 98
1 98
2 58
4 88
5 93
1 91
2 100
4 98
1 91
3 59
4 100
6 95
1 92
2 99
4 82
4 82
5 100
6 58
1 95
2 100
3 67
4 78
1 77
2 90
3 91
4 67
5 87
1 66
2 99
5 93
2 93
5 91
6 99
3 69
4 93
5 82
6 100
select num ,max(score)
from num_score where num=1 group by num;
结果:
1 98
(5)求各个课程号及相应的选课人数
create table id_num_course as
select sc.id id, sc.num num ,c.course course
from course c join studentcourse sc on c.num=sc.num ;
结果:
id_num_course.id id_num_course.num id_num_course.course
95001 1 数据库
95001 2 数学
95001 3 信息系统
95001 4 操作系统
95002 2 数学
95002 3 信息系统
95002 4 操作系统
95002 5 数据结构
95003 1 数据库
95003 3 信息系统
95003 5 数据结构
95004 1 数据库
95004 2 数学
95004 4 操作系统
95004 5 数据结构
95005 1 数据库
95005 2 数学
95005 3 信息系统
95005 6 数据处理
95006 1 数据库
95006 2 数学
95006 3 信息系统
95006 4 操作系统
95006 5 数据结构
95006 6 数据处理
95007 3 信息系统
95007 4 操作系统
95007 5 数据结构
95007 6 数据处理
95008 1 数据库
95008 3 信息系统
95008 6 数据处理
95009 2 数学
95009 4 操作系统
95009 6 数据处理
95010 2 数学
95010 5 数据结构
95010 6 数据处理
95011 1 数据库
95011 2 数学
95011 3 信息系统
95011 4 操作系统
95012 1 数据库
95012 3 信息系统
95012 4 操作系统
95012 6 数据处理
95013 1 数据库
95013 2 数学
95013 4 操作系统
95013 5 数据结构
95014 1 数据库
95014 2 数学
95014 4 操作系统
95015 1 数据库
95015 3 信息系统
95015 4 操作系统
95015 6 数据处理
95016 1 数据库
95016 2 数学
95016 4 操作系统
95017 4 操作系统
95017 5 数据结构
95017 6 数据处理
95018 1 数据库
95018 2 数学
95018 3 信息系统
95018 4 操作系统
95019 1 数据库
95019 2 数学
95019 3 信息系统
95019 4 操作系统
95019 5 数据结构
95020 1 数据库
95020 2 数学
95020 5 数据结构
95021 2 数学
95021 5 数据结构
95021 6 数据处理
95022 3 信息系统
95022 4 操作系统
95022 5 数据结构
95022 6 数据处理
create table id_num_course_student as
select ic.id id,ic.num num, ic.course course, s.name name
from id_num_course ic join student s on ic.id=s.id;
结果:
95001 1 数据库 李勇
95001 2 数学 李勇
95001 3 信息系统 李勇
95001 4 操作系统 李勇
95002 2 数学 刘晨
95002 3 信息系统 刘晨
95002 4 操作系统 刘晨
95002 5 数据结构 刘晨
95003 1 数据库 王敏
95003 3 信息系统 王敏
95003 5 数据结构 王敏
95004 1 数据库 张立
95004 2 数学 张立
95004 4 操作系统 张立
95004 5 数据结构 张立
95005 1 数据库 刘刚
95005 2 数学 刘刚
95005 3 信息系统 刘刚
95005 6 数据处理 刘刚
95006 1 数据库 孙庆
95006 2 数学 孙庆
95006 3 信息系统 孙庆
95006 4 操作系统 孙庆
95006 5 数据结构 孙庆
95006 6 数据处理 孙庆
95007 3 信息系统 易思玲
95007 4 操作系统 易思玲
95007 5 数据结构 易思玲
95007 6 数据处理 易思玲
95008 1 数据库 李娜
95008 3 信息系统 李娜
95008 6 数据处理 李娜
95009 2 数学 梦圆圆
95009 4 操作系统 梦圆圆
95009 6 数据处理 梦圆圆
95010 2 数学 孔小涛
95010 5 数据结构 孔小涛
95010 6 数据处理 孔小涛
95011 1 数据库 包小柏
95011 2 数学 包小柏
95011 3 信息系统 包小柏
95011 4 操作系统 包小柏
95012 1 数据库 孙花
95012 3 信息系统 孙花
95012 4 操作系统 孙花
95012 6 数据处理 孙花
95013 1 数据库 冯伟
95013 2 数学 冯伟
95013 4 操作系统 冯伟
95013 5 数据结构 冯伟
95014 1 数据库 王小丽
95014 2 数学 王小丽
95014 4 操作系统 王小丽
95015 1 数据库 王君
95015 3 信息系统 王君
95015 4 操作系统 王君
95015 6 数据处理 王君
95016 1 数据库 钱国
95016 2 数学 钱国
95016 4 操作系统 钱国
95017 4 操作系统 王风娟
95017 5 数据结构 王风娟
95017 6 数据处理 王风娟
95018 1 数据库 王一
95018 2 数学 王一
95018 3 信息系统 王一
95018 4 操作系统 王一
95019 1 数据库 邢小丽
95019 2 数学 邢小丽
95019 3 信息系统 邢小丽
95019 4 操作系统 邢小丽
95019 5 数据结构 邢小丽
95020 1 数据库 赵钱
95020 2 数学 赵钱
95020 5 数据结构 赵钱
95021 2 数学 周二
95021 5 数据结构 周二
95021 6 数据处理 周二
95022 3 信息系统 郑明
95022 4 操作系统 郑明
95022 5 数据结构 郑明
95022 6 数据处理 郑明
select num , count(course)
from id_num_course_student group by num ;
结果:
1 15
2 15
3 13
4 16
5 12
6 11
(6)查询选修了3门以上的课程的学生学号
create table id_count as
select id ,count(id) count
from id_num_course_student group by id;
结果:
id_count.id id_count.count
95001 4
95002 4
95003 3
95004 4
95005 4
95006 6
95007 4
95008 3
95009 3
95010 3
95011 4
95012 4
95013 4
95014 3
95015 4
95016 3
95017 3
95018 4
95019 5
95020 3
95021 3
95022 4
select id
from id_count where count > 3;
结果:
id
95001
95002
95004
95005
95006
95007
95011
95012
95013
95015
95018
95019
95022
(1)查询学生信息,结果按学号全局有序
select * from student order by id;
结果:
id name sex age deparment
95001 李勇 男 20 CS
95002 刘晨 女 19 IS
95003 王敏 女 22 MA
95004 张立 男 19 IS
95005 刘刚 男 18 MA
95006 孙庆 男 23 CS
95007 易思玲 女 19 MA
95008 李娜 女 18 CS
95009 梦圆圆 女 18 MA
95010 孔小涛 男 19 CS
95011 包小柏 男 18 MA
95012 孙花 女 20 CS
95013 冯伟 男 21 CS
95014 王小丽 女 19 CS
95015 王君 男 18 MA
95016 钱国 男 21 MA
95017 王风娟 女 18 IS
95018 王一 女 19 IS
95019 邢小丽 女 19 IS
95020 赵钱 男 21 IS
95021 周二 男 17 MA
95022 郑明 男 20 MA
(2)查询学生信息,结果区分性别按年龄有序
需要先开两个tasks,默认的是-1:
set mapred.reduce.tasks=2;(默认-1)
select * from student distribute by sex sort by age;
结果:
student.id student.name student.sex student.age student.deparment
95021 周二 男 17 MA
95005 刘刚 男 18 MA
95015 王君 男 18 MA
95011 包小柏 男 18 MA
95004 张立 男 19 IS
95010 孔小涛 男 19 CS
95001 李勇 男 20 CS
95022 郑明 男 20 MA
95016 钱国 男 21 MA
95020 赵钱 男 21 IS
95013 冯伟 男 21 CS
95006 孙庆 男 23 CS
95008 李娜 女 18 CS
95009 梦圆圆 女 18 MA
95017 王风娟 女 18 IS
95019 邢小丽 女 19 IS
95014 王小丽 女 19 CS
95002 刘晨 女 19 IS
95018 王一 女 19 IS
95007 易思玲 女 19 MA
95012 孙花 女 20 CS
95003 王敏 女 22 MA
(1)查询每个学生及其选修课程的情况
create table id_num_course as
select sc.id id, sc.num num ,c.course course
from course c join studentcourse sc on c.num=sc.num ;
结果:
id_num_course.id id_num_course.num id_num_course.course
95001 1 数据库
95001 2 数学
95001 3 信息系统
95001 4 操作系统
95002 2 数学
95002 3 信息系统
95002 4 操作系统
95002 5 数据结构
95003 1 数据库
95003 3 信息系统
95003 5 数据结构
95004 1 数据库
95004 2 数学
95004 4 操作系统
95004 5 数据结构
95005 1 数据库
95005 2 数学
95005 3 信息系统
95005 6 数据处理
95006 1 数据库
95006 2 数学
95006 3 信息系统
95006 4 操作系统
95006 5 数据结构
95006 6 数据处理
95007 3 信息系统
95007 4 操作系统
95007 5 数据结构
95007 6 数据处理
95008 1 数据库
95008 3 信息系统
95008 6 数据处理
95009 2 数学
95009 4 操作系统
95009 6 数据处理
95010 2 数学
95010 5 数据结构
95010 6 数据处理
95011 1 数据库
95011 2 数学
95011 3 信息系统
95011 4 操作系统
95012 1 数据库
95012 3 信息系统
95012 4 操作系统
95012 6 数据处理
95013 1 数据库
95013 2 数学
95013 4 操作系统
95013 5 数据结构
95014 1 数据库
95014 2 数学
95014 4 操作系统
95015 1 数据库
95015 3 信息系统
95015 4 操作系统
95015 6 数据处理
95016 1 数据库
95016 2 数学
95016 4 操作系统
95017 4 操作系统
95017 5 数据结构
95017 6 数据处理
95018 1 数据库
95018 2 数学
95018 3 信息系统
95018 4 操作系统
95019 1 数据库
95019 2 数学
95019 3 信息系统
95019 4 操作系统
95019 5 数据结构
95020 1 数据库
95020 2 数学
95020 5 数据结构
95021 2 数学
95021 5 数据结构
95021 6 数据处理
95022 3 信息系统
95022 4 操作系统
95022 5 数据结构
95022 6 数据处理
select s.name name ,ic.course course
from id_num_course ic join student s on ic.id=s.id;
结果:
name course
李勇 数据库
李勇 数学
李勇 信息系统
李勇 操作系统
刘晨 数学
刘晨 信息系统
刘晨 操作系统
刘晨 数据结构
王敏 数据库
王敏 信息系统
王敏 数据结构
张立 数据库
张立 数学
张立 操作系统
张立 数据结构
刘刚 数据库
刘刚 数学
刘刚 信息系统
刘刚 数据处理
孙庆 数据库
孙庆 数学
孙庆 信息系统
孙庆 操作系统
孙庆 数据结构
孙庆 数据处理
易思玲 信息系统
易思玲 操作系统
易思玲 数据结构
易思玲 数据处理
李娜 数据库
李娜 信息系统
李娜 数据处理
梦圆圆 数学
梦圆圆 操作系统
梦圆圆 数据处理
孔小涛 数学
孔小涛 数据结构
孔小涛 数据处理
包小柏 数据库
包小柏 数学
包小柏 信息系统
包小柏 操作系统
孙花 数据库
孙花 信息系统
孙花 操作系统
孙花 数据处理
冯伟 数据库
冯伟 数学
冯伟 操作系统
冯伟 数据结构
王小丽 数据库
王小丽 数学
王小丽 操作系统
王君 数据库
王君 信息系统
王君 操作系统
王君 数据处理
钱国 数据库
钱国 数学
钱国 操作系统
王风娟 操作系统
王风娟 数据结构
王风娟 数据处理
王一 数据库
王一 数学
王一 信息系统
王一 操作系统
邢小丽 数据库
邢小丽 数学
邢小丽 信息系统
邢小丽 操作系统
邢小丽 数据结构
赵钱 数据库
赵钱 数学
赵钱 数据结构
周二 数学
周二 数据结构
周二 数据处理
郑明 信息系统
郑明 操作系统
郑明 数据结构
郑明 数据处理
(2)查询学生的得分情况。
create table id_num_course_score as
select sc.id id,sc.num num,c.course course,sc.score score
from course c join studentcourse sc on c.num=sc.num;
select * from id_num_course_score;
结果:
id_num_course_score.id id_num_course_score.num id_num_course_score.course id_num_course_score.score
95001 1 数据库 81
95001 2 数学 85
95001 3 信息系统 88
95001 4 操作系统 70
95002 2 数学 90
95002 3 信息系统 80
95002 4 操作系统 71
95002 5 数据结构 60
95003 1 数据库 82
95003 3 信息系统 90
95003 5 数据结构 100
95004 1 数据库 80
95004 2 数学 92
95004 4 操作系统 91
95004 5 数据结构 70
95005 1 数据库 70
95005 2 数学 92
95005 3 信息系统 99
95005 6 数据处理 87
95006 1 数据库 72
95006 2 数学 62
95006 3 信息系统 100
95006 4 操作系统 59
95006 5 数据结构 60
95006 6 数据处理 98
95007 3 信息系统 68
95007 4 操作系统 91
95007 5 数据结构 94
95007 6 数据处理 78
95008 1 数据库 98
95008 3 信息系统 89
95008 6 数据处理 91
95009 2 数学 81
95009 4 操作系统 89
95009 6 数据处理 100
95010 2 数学 98
95010 5 数据结构 90
95010 6 数据处理 80
95011 1 数据库 81
95011 2 数学 91
95011 3 信息系统 81
95011 4 操作系统 86
95012 1 数据库 81
95012 3 信息系统 78
95012 4 操作系统 85
95012 6 数据处理 98
95013 1 数据库 98
95013 2 数学 58
95013 4 操作系统 88
95013 5 数据结构 93
95014 1 数据库 91
95014 2 数学 100
95014 4 操作系统 98
95015 1 数据库 91
95015 3 信息系统 59
95015 4 操作系统 100
95015 6 数据处理 95
95016 1 数据库 92
95016 2 数学 99
95016 4 操作系统 82
95017 4 操作系统 82
95017 5 数据结构 100
95017 6 数据处理 58
95018 1 数据库 95
95018 2 数学 100
95018 3 信息系统 67
95018 4 操作系统 78
95019 1 数据库 77
95019 2 数学 90
95019 3 信息系统 91
95019 4 操作系统 67
95019 5 数据结构 87
95020 1 数据库 66
95020 2 数学 99
95020 5 数据结构 93
95021 2 数学 93
95021 5 数据结构 91
95021 6 数据处理 99
95022 3 信息系统 69
95022 4 操作系统 93
95022 5 数据结构 82
95022 6 数据处理 100
select s.name,sc.course,sc.score
from student s join id_num_course_score sc on s.id=sc.id;
结果:
s.name sc.course sc.score
李勇 数据库 81
李勇 数学 85
李勇 信息系统 88
李勇 操作系统 70
刘晨 数学 90
刘晨 信息系统 80
刘晨 操作系统 71
刘晨 数据结构 60
王敏 数据库 82
王敏 信息系统 90
王敏 数据结构 100
张立 数据库 80
张立 数学 92
张立 操作系统 91
张立 数据结构 70
刘刚 数据库 70
刘刚 数学 92
刘刚 信息系统 99
刘刚 数据处理 87
孙庆 数据库 72
孙庆 数学 62
孙庆 信息系统 100
孙庆 操作系统 59
孙庆 数据结构 60
孙庆 数据处理 98
易思玲 信息系统 68
易思玲 操作系统 91
易思玲 数据结构 94
易思玲 数据处理 78
李娜 数据库 98
李娜 信息系统 89
李娜 数据处理 91
梦圆圆 数学 81
梦圆圆 操作系统 89
梦圆圆 数据处理 100
孔小涛 数学 98
孔小涛 数据结构 90
孔小涛 数据处理 80
包小柏 数据库 81
包小柏 数学 91
包小柏 信息系统 81
包小柏 操作系统 86
孙花 数据库 81
孙花 信息系统 78
孙花 操作系统 85
孙花 数据处理 98
冯伟 数据库 98
冯伟 数学 58
冯伟 操作系统 88
冯伟 数据结构 93
王小丽 数据库 91
王小丽 数学 100
王小丽 操作系统 98
王君 数据库 91
王君 信息系统 59
王君 操作系统 100
王君 数据处理 95
钱国 数据库 92
钱国 数学 99
钱国 操作系统 82
王风娟 操作系统 82
王风娟 数据结构 100
王风娟 数据处理 58
王一 数据库 95
王一 数学 100
王一 信息系统 67
王一 操作系统 78
邢小丽 数据库 77
邢小丽 数学 90
邢小丽 信息系统 91
邢小丽 操作系统 67
邢小丽 数据结构 87
赵钱 数据库 66
赵钱 数学 99
赵钱 数据结构 93
周二 数学 93
周二 数据结构 91
周二 数据处理 99
郑明 信息系统 69
郑明 操作系统 93
郑明 数据结构 82
郑明 数据处理 100
(3)查询选修2号课程且成绩在90分以上的所有学生。
create table id_num_course_score as
select sc.id id,sc.num num,c.course course,sc.score score
from course c join studentcourse sc on c.num=sc.num;
select * from id_num_course_score;
结果:
id_num_course_score.id id_num_course_score.num id_num_course_score.course id_num_course_score.score
95001 1 数据库 81
95001 2 数学 85
95001 3 信息系统 88
95001 4 操作系统 70
95002 2 数学 90
95002 3 信息系统 80
95002 4 操作系统 71
95002 5 数据结构 60
95003 1 数据库 82
95003 3 信息系统 90
95003 5 数据结构 100
95004 1 数据库 80
95004 2 数学 92
95004 4 操作系统 91
95004 5 数据结构 70
95005 1 数据库 70
95005 2 数学 92
95005 3 信息系统 99
95005 6 数据处理 87
95006 1 数据库 72
95006 2 数学 62
95006 3 信息系统 100
95006 4 操作系统 59
95006 5 数据结构 60
95006 6 数据处理 98
95007 3 信息系统 68
95007 4 操作系统 91
95007 5 数据结构 94
95007 6 数据处理 78
95008 1 数据库 98
95008 3 信息系统 89
95008 6 数据处理 91
95009 2 数学 81
95009 4 操作系统 89
95009 6 数据处理 100
95010 2 数学 98
95010 5 数据结构 90
95010 6 数据处理 80
95011 1 数据库 81
95011 2 数学 91
95011 3 信息系统 81
95011 4 操作系统 86
95012 1 数据库 81
95012 3 信息系统 78
95012 4 操作系统 85
95012 6 数据处理 98
95013 1 数据库 98
95013 2 数学 58
95013 4 操作系统 88
95013 5 数据结构 93
95014 1 数据库 91
95014 2 数学 100
95014 4 操作系统 98
95015 1 数据库 91
95015 3 信息系统 59
95015 4 操作系统 100
95015 6 数据处理 95
95016 1 数据库 92
95016 2 数学 99
95016 4 操作系统 82
95017 4 操作系统 82
95017 5 数据结构 100
95017 6 数据处理 58
95018 1 数据库 95
95018 2 数学 100
95018 3 信息系统 67
95018 4 操作系统 78
95019 1 数据库 77
95019 2 数学 90
95019 3 信息系统 91
95019 4 操作系统 67
95019 5 数据结构 87
95020 1 数据库 66
95020 2 数学 99
95020 5 数据结构 93
95021 2 数学 93
95021 5 数据结构 91
95021 6 数据处理 99
95022 3 信息系统 69
95022 4 操作系统 93
95022 5 数据结构 82
95022 6 数据处理 100
select a.name ,b.num,b.score
from student a join id_num_course_score b on a.id=b.id
where b.num=2 and b.score>90;
结果:
a.name b.num b.score
张立 2 92
刘刚 2 92
孔小涛 2 98
包小柏 2 91
王小丽 2 100
钱国 2 99
王一 2 100
赵钱 2 99
周二 2 93
(1)查询所有学生的信息,如果在成绩表中有成绩,则输出成绩表中的课程号
select a.*,sc.num
from student a left join studentcourse sc on a.id=sc.id;
结果:
a.id a.name a.sex a.age a.deparment sc.num
95002 刘晨 女 19 IS 2
95002 刘晨 女 19 IS 3
95002 刘晨 女 19 IS 4
95002 刘晨 女 19 IS 5
95017 王风娟 女 18 IS 4
95017 王风娟 女 18 IS 5
95017 王风娟 女 18 IS 6
95018 王一 女 19 IS 1
95018 王一 女 19 IS 2
95018 王一 女 19 IS 3
95018 王一 女 19 IS 4
95013 冯伟 男 21 CS 1
95013 冯伟 男 21 CS 2
95013 冯伟 男 21 CS 4
95013 冯伟 男 21 CS 5
95014 王小丽 女 19 CS 1
95014 王小丽 女 19 CS 2
95014 王小丽 女 19 CS 4
95019 邢小丽 女 19 IS 1
95019 邢小丽 女 19 IS 2
95019 邢小丽 女 19 IS 3
95019 邢小丽 女 19 IS 4
95019 邢小丽 女 19 IS 5
95020 赵钱 男 21 IS 1
95020 赵钱 男 21 IS 2
95020 赵钱 男 21 IS 5
95003 王敏 女 22 MA 1
95003 王敏 女 22 MA 3
95003 王敏 女 22 MA 5
95004 张立 男 19 IS 1
95004 张立 男 19 IS 2
95004 张立 男 19 IS 4
95004 张立 男 19 IS 5
95012 孙花 女 20 CS 1
95012 孙花 女 20 CS 3
95012 孙花 女 20 CS 4
95012 孙花 女 20 CS 6
95010 孔小涛 男 19 CS 2
95010 孔小涛 男 19 CS 5
95010 孔小涛 男 19 CS 6
95005 刘刚 男 18 MA 1
95005 刘刚 男 18 MA 2
95005 刘刚 男 18 MA 3
95005 刘刚 男 18 MA 6
95006 孙庆 男 23 CS 1
95006 孙庆 男 23 CS 2
95006 孙庆 男 23 CS 3
95006 孙庆 男 23 CS 4
95006 孙庆 男 23 CS 5
95006 孙庆 男 23 CS 6
95007 易思玲 女 19 MA 3
95007 易思玲 女 19 MA 4
95007 易思玲 女 19 MA 5
95007 易思玲 女 19 MA 6
95008 李娜 女 18 CS 1
95008 李娜 女 18 CS 3
95008 李娜 女 18 CS 6
95021 周二 男 17 MA 2
95021 周二 男 17 MA 5
95021 周二 男 17 MA 6
95022 郑明 男 20 MA 3
95022 郑明 男 20 MA 4
95022 郑明 男 20 MA 5
95022 郑明 男 20 MA 6
95001 李勇 男 20 CS 1
95001 李勇 男 20 CS 2
95001 李勇 男 20 CS 3
95001 李勇 男 20 CS 4
95011 包小柏 男 18 MA 1
95011 包小柏 男 18 MA 2
95011 包小柏 男 18 MA 3
95011 包小柏 男 18 MA 4
95009 梦圆圆 女 18 MA 2
95009 梦圆圆 女 18 MA 4
95009 梦圆圆 女 18 MA 6
95015 王君 男 18 MA 1
95015 王君 男 18 MA 3
95015 王君 男 18 MA 4
95015 王君 男 18 MA 6
95016 钱国 男 21 MA 1
95016 钱国 男 21 MA 2
95016 钱国 男 21 MA 4
(1)查询与“刘晨”在同一个系学习的学生
select a.name,a.deparment
from student a left semi join
(select deparment from student where name = '刘晨') b
on a.deparment=b.deparment;
结果:
a.name a.deparment
刘晨 IS
王风娟 IS
王一 IS
邢小丽 IS
赵钱 IS
张立 IS