zoukankan      html  css  js  c++  java
  • SQL Server 之T-SQL基本语句 (3)

    继续来用例子总结sql基本语句用法。

    在这里在建一个表:课

    课程名 上课时间
    数学 周一
    数学 周二
    数学 周三
    语文 周一
    语文 周二
    英语 周一

    数据分组:GROUP  BY

    select  课程名,count(*)

    from 课

    group by 课程名;//按照课程名来分组,检索出每个课程的上课时间个数

    结果为: 数学  3

                语文   2

                英语   1

    注意:group by 子句必须放在where之后和order by之前。

    过滤分组:HAVING

    比如:

    select 课程名, count(*)

    from 课

    group by 课程名

    having count(*)>=2;//选择上课时间次数大于或等于两次的课程

    结果为: 数学    3

                语文     2

    where 和 having 之间差别:

    where 在分组前进行过滤,having在分组或进行过滤。where排除后的行在分组中不算数,有时候会影响数据结果。

    子查询 IN 操作符

    比如:

    select  课程名,count(*)

    from   课

    where  课程名  in  (select 课程名   

                                from   课

                                where  count >2);//小括号里确定了上课时间次数大于2的课程名。    等价于: where 课程名 in ('数学');

    结果:数学   3

    另外一种,

    select  课程名,(select  count(*)

                            from  课

                           where  上课时间='星期一')//小括号里检索了各门课程上课时间为星期一的次数

    from 课;

    结果为:数学  1

               语文  1

                英语  1

    插入数据

    插入完整行

    INSERT INTO  课

    VALUE('体育', '星期一');

    insert into 课(课程名,上课时间)

    value ('体育','星期一');//这种更加安全

    插入行的一部分

    和上述一样,就是少插入一部分数据,没插入数据的部分默认为null。若没插入的部分不允许为null,则会报错。

    插入某些查询结果

    insert  into 课(课程名,上课时间)

    select 课程名,上课时间

    from 另一个课表;//将另一个课表查询的结果插入课表。注意:课表和另一个课表可以列名相同也可以不同。

    更新数据

    UPDATE     SET

    比如:

    update 课

    set  上课时间='周五'

    where 课程名='数学' and 上课时间='周一';//将课程名为数学和上课时间为周一的课程上课时间改为周五
    删除数据

    DELETE

    比如:

    delete from 课

    where 课程名='英语';//删除课程名为英语的那一行

    关联表在以后再仔细总结。

  • 相关阅读:
    [Bzoj3262]陌上花开(CDQ分治&&树状数组||树套树)
    [洛谷P1501][国家集训队]Tree II(LCT)
    [bzoj2002][Hnoi2010]Bounce 弹飞绵羊(LCT)
    Codeforces Round #683 (Div. 2, by Meet IT) E
    Codeforces Round #683 (Div. 2, by Meet IT) C
    set使用
    Educational Codeforces Round 98 (Rated for Div. 2) D
    Educational Codeforces Round 98 (Rated for Div. 2) B
    arc102a
    树状数组知识点整理二(待)
  • 原文地址:https://www.cnblogs.com/anyihen/p/5505743.html
Copyright © 2011-2022 走看看