• sql查询50题


    一个项目涉及到的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 分数


     

    --创建测试数据

    create table Student(
    Sid varchar(10),
    Sname varchar(10),
    Sage datetime,
    Ssex varchar(10)
    );
    
    insert into Student values('01' , '赵雷' , '1990-01-01' , '');
    insert into Student values('02' , '钱电' , '1990-12-21' , '');
    insert into Student values('03' , '孙风' , '1990-05-20' , '');
    insert into Student values('04' , '李云' , '1990-08-06' , '');
    insert into Student values('05' , '周梅' , '1991-12-01' , '');
    insert into Student values('06' , '吴兰' , '1992-03-01' , '');
    insert into Student values('07' , '郑竹' , '1989-07-01' , '');
    insert into Student values('08' , '王菊' , '1990-01-20' , '');
    insert into Student values('09' , '孙吴昊' , '1990-01-20' , '');
    insert into Student values('10' , '赵雷' , '1990-01-20' , '');
    create table Course(
    Cid varchar(10),
    Cname varchar(10),
    Tid varchar(10)
    );
    
    
    insert into Course values('01' , '语文' , '02');
    insert into Course values('02' , '数学' , '01');
    insert into Course values('03' , '英语' , '03');
    insert into Course values('04' , '英语' , '01');
    create table Teacher(
    Tid varchar(10),
    Tname varchar(10)
    );
    
    insert into Teacher values('01' , N'张三');
    insert into Teacher values('02' , N'李四');
    insert into Teacher values('03' , N'王五');
    insert into Teacher values('04' , N'汪二蛋');

     

    create table SC(
    Sid varchar(10),
    Cid 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' , 34);
    insert into SC values('07' , '02' , 89);
    insert into SC values('07' , '03' , 98);
    insert into SC values('08' , '03' , 98);
    insert into SC values('09' , '03' , 98);
    insert into SC values('10' , '04' , 59);

    1、查询平均成绩大于60分的同学的学号和平均成绩;

    分组一般结合聚合函数应用

    SELECT Sid, AVG(score) AS num_score FROM sc GROUP BY Sid HAVING AVG(score) > 60;
    //先得到每个学号和平均分数(应用聚合函数和分组,7个学生),然后在刷选出平均数>60的学生(对分组刷选用having)

    // group by后面不能接where,having代替了where

    2、查询所有同学的学号、姓名、选课数、总成绩



     

     

     

     

     

     

  • 相关阅读:
    4个小时实现一个HTML5音乐播放器
    一款好看+极简到不行的HTML5音乐播放器-skPlayer
    操纵浏览器的历史记录
    基于jQuery查找dom的多种方式性能问题
    你真的了解console吗?
    关于overflow:hidden和bfc
    jQuery插件开发
    深入浅出jsonp
    jQuery.extend 函数详解
    [转] Hibernate一级缓存、二级缓存
  • 原文地址:https://www.cnblogs.com/bell1991/p/7569767.html
Copyright © 2020-2023  润新知