美文网首页程序员
MySQL查询综合练习

MySQL查询综合练习

作者: kangyiii | 来源:发表于2017-03-01 17:00 被阅读0次
学生表信息
  1. 查询选修了MySQL的学生姓名
//法1:
select name from stu where id in (
   select stu_id from stu_kecheng where kecheng_id=(
    select id from kecheng where kecheng_name = 'Mysql'
  )
);
//法2:
select stu.name from stu
  inner join stu_kecheng as sk on sk.stu_id=stu.id
  inner join kecheng as kc on kc.id = sk.kecheng_id
  where kc.kecheng_name = 'Mysql';
  1. 查询 张三 同学选修的课程
//法1:
select kecheng_name from kecheng where id in (
  select kecheng_id from stu_kecheng where stu_id = (
    select id from stu where name = '张三'
  )
);
//法2:
select kc.kecheng_name from stu
inner join stu_kecheng as sk on sk.stu_id=stu.id
inner join kecheng as kc on kc.id = sk.kecheng_id
where stu.name = '张三';
  1. 查询了只选修了一门课程的学生学号和姓名
select id,name from stu where id in(
  select stu_id from stu_kecheng group by stu_id haveing count(*) = 1
);
  1. 查询了只选修了3门课程的学生学号和姓名
select id,name from stu where id in(
  select stu_id from stu_kecheng group by stu_id haveing count(*) >= 3
);
  1. 查询选修了所有课程的学生信息
select * from stu where id in(
  select stu_id from stu_kecheng group by stu_id having count(*) = (
   select count(*) as c from kecheng
)
);
  1. 查询选修课程的学生人数
select count(*) from (
select count (*) from stu_kecheng group by stu_id
) as t1;
  1. 查询所学课程至少有一门跟张三所学课程相同的学生信息
select * from stu where id in (
//和张三选修课程相同的stu_id
select stu_id from stu_kecheng where kecheng_id in(
//张三的课程id
select kecheng_id from stu_kecheng where stu_id=(
select id from stu where name = '张三'
)
)
);
  1. 查询两门及两门以上不及格同学的平均分
select avg(score) from stu_kecheng where stu_id in(
//找出2门及以上不及格同学的id
select stu_id from stu_kecheng where score <= 60 group by stu_id having count(*)>=2
)
group by stu_id;

相关文章

  • MySQL查询综合练习

    查询选修了MySQL的学生姓名 查询 张三 同学选修的课程 查询了只选修了一门课程的学生学号和姓名 查询了只选修了...

  • Python day25_mysql数据库

    mysql 数据库 查询练习

  • MySQL查询语句的45道练习

    MySQL查询语句的45道练习

  • mysql 练习

    MySql面试前必须练习到熟练的--部分语句有错;有些子查询可以用外连接代替 MySQL查询语句练习题(面试时可能...

  • MySQL查询练习

    个人笔记,仅供参考 查询练习数据准备 准备数据供下文使用1、学生表(student) 学号,姓名,性别,出生年月日...

  • MySQL查询练习

    创建表:员工 employees,工资表 salary,部门 departments 插入数据 SQL数据库查询练...

  • sql 练习(三)

    环境是mysql 练习数据见SQL:练习的前期准备 sql 练习(一)sql 练习(二)21、查询成绩高于学号为“...

  • mysql多表查询0529

    /*多表查询综合练习,测试显性查询和隐性查询,熟悉多表对应关系,写清中间表 显示内连接标准语法:SELECT 列名...

  • 子查询

    MySQL中的TOP-N语句 limit后start, count MySQL中分页公式 练习1.1 查询入职日期...

  • MYSQL查询基础练习

    1.查询每个专业的学生 SELECT COUNT(*),majoridFROM studentGROUP BY m...

网友评论

    本文标题:MySQL查询综合练习

    本文链接:https://www.haomeiwen.com/subject/krffgttx.html