zoukankan      html  css  js  c++  java
  • oracle 和 sqlserver sql语句的差别

    select创建表
        oracle: create table table2 as (select * from table1);
        sqlserver: select * into table2 from table1;


    递归查询
        oracle: connect by
            select ... from <TableName>
            where <Conditional-1>
            start with <Conditional-2>
            connect by <Conditional-3>
        sqlserver: cte
            ;with cte(id, name, pid, lvl) as
            (
                select t.*, 0 lvl from t where pid=0
                union all
                select t.*, cte.lvl+1 lvl from t, cte where t.pid = cte.id
            )
            select
                case
                    when lvl=0 then name
                    else REPLICATE(' ', lvl) + '└' + name
                end,
                id,
                pid
            from cte
            ;

    正则
        oracel: regexp_substr, regexp_like, regexp_instr, regexp_replace, regexp_count
        sqlserver: 木有

    子查询
        oracle:     select * from (select * from table1);
        sqlserver: select * from (select * from table1) t;

    组内排序(一致)
        oracle: row_number() over (partition by ... order by ...)
        sqlserver: row_number() over (partition by .. order by ...)


    查询结果插入(一致)
        insert into table1(col1, col2, col3) select col1, col2, col3 from table2;

    转载请注明出处:http://surfsky.cnblogs.com 

  • 相关阅读:
    用户描述
    课堂练习
    一阶段11.21
    一阶段11.20
    一阶段 11.19
    自己动手写spring(五) bean的生命周期管理
    自己动手写spring(四) 整合xml与注解方式
    自己动手写spring(三) 支持注解方式
    自己动手写spring(二) 创建一个bean工厂
    自己动手写spring(一) 使用digester
  • 原文地址:https://www.cnblogs.com/surfsky/p/2791766.html
Copyright © 2011-2022 走看看