PTA——连接查询——Mysql——(21-30)

10-21 查询每门必修课的课程编号,课程名称和选修人数。

select course.cno,cname,count(distinct sno) total
from course join score on course.cno=score.cno
where course.attribute='必修'
group by course.cno;

10-22 查找所有“大学语文”分数在80以上的学生的姓名,所在院系。

select sname,dept
from student join score on student.sno=score.sno
where cno='302566' and grade>=80

10-23 显示每位员工的编号,姓名,工资及工资级别。

select empno,ename,sal,grade
from emp,salgrade
where emp.sal between losal and hisal;

10-24 显示每位员工的编号,姓名及其上级领导的编号和姓名(要求显示出所有的员工)。

select a.empno 员工编号,a.ename 员工姓名,a.mgr 上司编号,b.ename 上司姓名 
from emp a left 
join emp b on(a.mgr=b.empno);

10-25 查询编号‘dep01001’教师的系主任名称 (10 分)

select DepartmentHeader 
from Teacher join Department on Teacher.DepartmentID=Department.DepartmentID
where TeacherID='dep01001' 

10-26 查询没有课程成绩的学生学号、姓名、性别。 (10 分)

select student.StudentID,StudentName,Sex
from Student left join Grade on  student.StudentID=Grade.StudentID
where grade is null;

10-27 查询出学生的选课情况,结果集包括学号、姓名、课号、课名、开设学期和成绩。 (10 分)

select student.sno,sname,course.cno,cname,term,grade
from student,course,score
where student.sno=score.sno and score.cno=course.cno;

10-28 查询平均成绩以上的课程 (10 分)

select sno 学号,cname 课程名, grade 成绩
from cou,sc a
where cou.cno=a.cno and (a.grade>(
select avg(b.grade)
from sc b
where a.sno=b.sno
))

10-29 查询选修张老师讲授所有课程的学生 (10 分)

select sname
from stu
where not exists
(
    select * 
    from cou
    where not exists
(
    select *
    from sc 
    where sc.sno=stu.sno 
    and sc.cno=cou.cno
) 
    and cou.teacher = '张老师')

10-30 检索没被学生选修的课程编号和课程名称。 (10 分)

select cno,cname
from course
where cno not in(select cno from score)
  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
use test/*一个项目涉及到的50个Sql语句问题及描述:--1.学生表Student(S#,Sname,Sage,Ssex) --S# 学生编号,Sname 学生姓名,Sage 出生年月,Ssex 学生性别--2.课程表 Course(C#,Cname,T#) --C# --课程编号,Cname 课程名称,T# 教师编号--3.教师表 Teacher(T#,Tname) --T# 教师编号,Tname 教师姓名--4.成绩表 SC(S#,C#,score) --S# 学生编号,C# 课程编号,score 分数select * from Studentselect * from Courseselect * from Teacherselect * from SC*/--创建测试数据create table Student(S# varchar(10),Sname nvarchar(10),Sage datetime,Ssex nvarchar(10))insert into Student values('01' , N'赵雷' , '1990-01-01' , N'男')insert into Student values('02' , N'钱电' , '1990-12-21' , N'男')insert into Student values('03' , N'孙风' , '1990-05-20' , N'男')insert into Student values('04' , N'李云' , '1990-08-06' , N'男')insert into Student values('05' , N'周梅' , '1991-12-01' , N'女')insert into Student values('06' , N'吴兰' , '1992-03-01' , N'女')insert into Student values('07' , N'郑竹' , '1989-07-01' , N'女')insert into Student values('08' , N'王菊' , '1990-01-20' , N'女')create table Course(C# varchar(10),Cname nvarchar(10),T# varchar(10))insert into Course values('01' , N'语文' , '02')insert into Course values('02' , N'数学' , '01')insert into Course values('03' , N'英语' , '03')create table Teacher(T# varchar(10),Tname nvarchar(10))insert into Teacher values('01' , N'张三')insert into Teacher values('02' , N'李四')insert into Teacher values('03' , N'王五')create table SC(S# varchar(10),C# varchar(10),score decimal(18,1))insert into SC values('01' , '01' , 80)insert into SC values('01' , '02' , 90)insert into SC values('01' , '03' , 99)insert into SC values('02' , '01' , 70)insert into SC values('02' , '02' , 60)insert into SC values('02' , '03' , 80)insert into SC values('03' , '01' , 80)insert into SC values('03' , '02' , 80)insert into SC values('03' , '03' , 80)insert into SC values('04' , '01' , 50)insert into SC values('04' , '02' , 30)insert into SC values('04' , '03' , 20)insert into SC values('05' , '01' , 76)insert into SC values('05' , '02' , 87)insert into SC values('06' , '01' , 31)insert into SC values('06' , '03' ,
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值