SELECT Student.*,StuCourse.*FROM Student ,StuCourse
WHERE Student.学号=StuCourse.学号;
select Student.姓名,StuCourse.*from StuCourse,Student
where Student.学号 = StuCourse.学号 and Student.专业名='电子信息工程';
join 方法
select s.姓名
from Student s
join StuCourse sc on s.学号 = sc.学号
join Course c on sc.课程号 = c.课程号
where c.课程名 ='程序设计基础';
SELECT s.学号,s.姓名,s.专业名,AVG(sc.成绩)as 平均成绩
FROM Student s
JOIN StuCourse sc ON S.学号=SC.学号
JOIN Course c ON C.课程号=SC.课程号
WHERE S.专业名='计算机科学与技术'GROUPBY S.学号,S.姓名,S.专业名;
SELECT s.学号,s.姓名,AVG(sc.成绩)as 平均成绩
FROM Student s
JOIN StuCourse sc ON S.学号=SC.学号
GROUPBY S.学号,S.姓名
orderbyavg(sc.成绩)desc;
selectdistinct s.学号, s.姓名
from Student s
join StuCourse sc on s.学号 = sc.学号
where sc.课程号 in('2001','1002');
selectdistinct Student.学号,Student.姓名
from Student
where student.学号 in(select student.学号
from stucourse
where 课程号 in('2001','1002'));
select 学号,姓名,专业名
from student
where 专业名 =(select 专业名 from student where 姓名 ='李进');
select 专业名,count(*)as num_of_students
from(select s.学号,s.专业名,AVG(sc.成绩)as avg_score
from student s
join stucourse sc on s.学号 = sc.学号
groupby s.学号,s.专业名
havingavg(sc.成绩)>=80)as subquery
groupby 专业名;
select s.姓名, s.学号
from student s
where s.学号 in(select sc.学号
from stucourse sc
join course c on sc.课程号 = c.课程号
where sc.成绩 >=80groupby sc.学号
havingcount(distinct c.课程号)=(selectcount(*)from stucourse
where 学号 = s.学号));
select 姓名 from student
where 学号 notin(select 学号 from stucourse where 课程号 =1002);
select s.学号,s.姓名 from student s
join stucourse sc on s.学号 = sc.学号
where s.专业名 ='计算机科学与技术'and sc.课程号 =1001and sc.成绩 >all(select sc2.成绩 from stucourse sc2 join student s2 on sc2.学号=s2.学号
where s2.专业名 ='电子信息工程'and 课程号 =1001);