zoukankan      html  css  js  c++  java
  • sql面试学到新内容

    1.事物的保存点

      MYSQL可以让我们对事务进行部分回滚,就是在事务里调用SAVEPOINT语句来设置一些命名标记。如果想要回滚到那个标记点位置,需要使用ROLLBACK语句来指定哪个保存点。

    mysql> truncate table d;
    
    Query OK, 0 rows affected (0.02 sec)
    
    mysql> start transaction;
    
    Query OK, 0 rows affected (0.00 sec)
    
    mysql> insert into d values(1);
    
    Query OK, 1 row affected (0.01 sec)
    
    mysql> savepoint my_savepoint;
    
    Query OK, 0 rows affected (0.00 sec)
    
    mysql> insert into d values(2);
    
    Query OK, 1 row affected (0.00 sec)
    
    mysql> rollback to savepoint my_savepoint;
    
    Query OK, 0 rows affected (0.00 sec)
    
    mysql> insert into d values(3);
    
    Query OK, 1 row affected (0.00 sec)
    
    mysql> commit;
    
    Query OK, 0 rows affected (0.00 sec)
    
    mysql> select * from d;
    
    +------+
    
    | name |
    
    +------+
    
    | 1   |
    
    | 3   |
    
    +------+
    
    2 rows in set (0.00 sec)

    2.SQL Server 排序函数

      ROW_NUMBER:

        根据组显示每一条记录在该组中出现的位置,例如:若有两个第一名,则这两个第一名在一组内排名为1、2,下一组的排序仍从1开始,依次类推。

      RANK:

        在结果集中每一条记录所在的排名位置,但排名可能不连续,例如:若同一组内有两个第一名,则该组内下一个名次直接跳至第三名。

      DENSE_RANK:

        功能与Rank相似,但排名的数值是连续的,例如:若同一组内有两个第一名,则该组内下一个名次为第二名

      NTILE:

        根据指定的分组数量将结果集分区,并记录其在组中的位置。可以对结果集的数据排序后,按照指定的数量把结果集分成N组,并给予每组一个组编号,分组的方式很简单,将结果集的总记录数除以N,若有余数M,则前M组都多增一条记录,因此,并非所有的组都有相同的记录数,但多记录的组最多只有一条记录。

    3.SQL Server 其他函数

      pivot:行转列函数

      over :开窗函数

      partition by:分析函数

    参考文章

      1.在SQL Server 事务中使用Savepoints来保存提交点

      2.Sql 四大排名函数(ROW_NUMBER、RANK、DENSE_RANK、NTILE)简介

       3.SQL Server 2012 开窗函数

       4.SQL中partition关键字的使用

       5.行转列:SQL SERVER PIVOT与用法解释

       6.left join on 后and 和 where 的区别

     
     
  • 相关阅读:
    dockerfile构建的镜像中文乱码
    xshell+xmanager6破解
    mysql数据库本地登录无法查看到数据库
    Tomcat日志中文乱码问题解决
    Tomcat 启动很慢
    Supervisor-安装
    supervisor-monitor进程集中管理部署
    CeSi 进程集中管理部署
    [IOT]
    [SourceTree]
  • 原文地址:https://www.cnblogs.com/sdadx/p/8536862.html
Copyright © 2011-2022 走看看