• SQL练习


    --1.查询每门功课都大于80的学生
    select name
    from score
    group by name
    having min(score)>80;
    --说明:以什么分组,就最好查询什么。
    --2.所有部门之间的比赛组合
    一个叫team的表,里面只有一个字段name,一共4条记录,分别是a,b,c,d,对应四个球队,
    现在四个球队进行比赛,用一条sql语句显示所有可能的组合。
    select
    from team t1,team t2
    where t1.name>t2.name;
    name
    1 a
    2 b
    3 c
    4 d
     
    满足要求后的结果
    name name
    1 d     c
    2 d    b
    3 d    a
    4 c    b
    5 c    a
    6 b    a

     --说明:把一张表看成两张表



    --3.显示文章标题 发帖人 最后回复时间
    错误写法:max(postdate) m 是代表的整列中最大的,而不是各个分组中的最大的。
    select title,postuser,m
    from articles
    group by name
    having max(postdate) m;
    正确写法:
    select title,postuser,
    (select max(postdate) from articles where a.parentid=a.id) reply
    from articles a
    where a.parentid is null;
    --4.删除了id号不同,其它都相同的学生冗余信息

     delete from student2
     where id not in
           ( select min(id)
             from (select * from student2) as t
             group by t.name
            );
    成年人的世界没有那么多的童话,也没有那么多的逆袭。
  • 相关阅读:
    lvs实现故障转移(backup)
    shell计算
    CEGUI 聊天对话框
    SetRenderState 设置渲染状态【转】
    MFC 弹出对话框
    DrawIndexedPrimitive函数的详细解释【转】
    IDirect3DDevice9::Clear 【转】
    manifest 文件错误
    D3DXMatrixLookAtLH 【转】
    D3D中的网格(Mesh)
  • 原文地址:https://www.cnblogs.com/shijinglu2018/p/10506718.html
Copyright © 2020-2023  润新知