zoukankan      html  css  js  c++  java
  • Mysql查询语句练习题

    表结构示意图:

    题目:

    7、查询学过“1”并且也学过编号“2”课程的同学的学号、姓名;

    select student.sid,student.sname from student right join (select New.student_id as ID,count(New.course_id) as Num from (select * from score where course_id=1 or course_id=2) as New group by New.student_id having Num=2) as A on student.sid=A.ID;

    8、查询学过“小多”老师所教的课的同学的学号、姓名;

    1)查询出小多老师的课程数量
    select count(course.cid) as Num from course left join teacher on course.teacher_id=teacher.tid where teacher.tname='小多' group by teacher.tid;
    
    (2)查询出上过小多老师课的学生ID和该学生上过小多老师的课程数量
    select score.student_id,count(score.course_id) from score where score.course_id in (select cid from teacher left join course on teacher.tid=course.teacher_id where teacher.tname='小多') group by score.student_id
    
    (3)连表
    select student.sid,student.sname from student right join (select B.ID_B as ID_A from (select score.student_id as ID_B,count(score.course_id) as NumB from score where score.course_id in (select cid from teacher left join course on teacher.tid=course.teacher_id where teacher.tname='小多') group by score.student_id) as B left join (select count(course.cid) as NumC from course left join teacher on course.teacher_id=teacher.tid where teacher.tname='小多' group by teacher.tid) as C on B.NumB=C.NumC) as A on student.sid=A.ID_A;

    9、查询课程编号“002”的成绩比课程编号“001”课程低的所有同学的学号、姓名;

    select student.sid,student.sname from student right join (select B.student_id as ID_A from (select student_id,number from score where course_id=1) as B left join (select student_id,number from score where course_id=2) as C on B.student_id=C.student_id where B.number > C.number) as A on student.sid=A.ID_A;

    10、查询有课程成绩小于60分的同学的学号、姓名;

    select sid,sname from student where sid in (select student_id from score where number<60);

    11、查询没有学全所有课的同学的学号、姓名;

    select sid,sname from student where sid not in (select student_id from score group by student_id having count(course_id)=3);

    12、查询至少有一门课与学号为“001”的同学所学相同的同学的学号和姓名;

    select student.sid,student.sname from student right join (select student_id from score where student_id !=1 and course_id in (select course_id from score where student_id=1) group by student_id) as A on student.sid=A.student_id;

    14、查询和“002”号的同学学习的课程完全相同的其他同学学号和姓名;

    select student.sid,student.sname from student right join (select student_id,count(course_id) from score where student_id !=2 and course_id in (select course_id from score where student_id=2) group by student_id having count(course_id)=(select count(course_id) from score where student_id=2 group by student_id)) as A on student.sid=A.student_id;

    15、删除学习“叶平”老师课的SC表记录;

    delete from score where course_id = (select cid from course left join teacher on course.teacher_id=teacher.tid where teacher.tname='叶平');
  • 相关阅读:
    时空上下文视觉跟踪(STC)算法的解读与代码复现(转)
    神经网络:卷积神经网络(转)
    图像卷积与滤波的一些知识点(转)
    Deep Learning论文笔记之(四)CNN卷积神经网络推导和实现(转)
    深度学习(卷积神经网络)一些问题总结(转)
    卷积神经网络的初步理解LeNet-5(转)
    中期总结
    转载:通俗理解遗传算法
    转载:协方差与协方差矩阵
    装载:关于拉格朗日乘子法与KKT条件
  • 原文地址:https://www.cnblogs.com/yinwenjie/p/10856662.html
Copyright © 2011-2022 走看看