• 用于测试 SqlAnalyzer1.01 的21个测试用例


    感慨:当年看着 https://www.cnblogs.com/heyang78/p/11451814.html 一文望洋兴叹,如今我也自己做出来了!

    21.

    原文=select name, cnt from (select name from tb order by name,id,age,level)
    整理后文本=
    select
        name,
        cnt
    from
        (
        select
            name
        from
            tb
        order by
            name ,
            id ,
            age ,
            level )

    20.

    原文=select a from tc,(select a1,a2 from (select 1,2,3 from tc where a>2 and b>3 and c>4 group by a,b having a=2 and b=3 order by a,c) tre order by a1) tb order by a
    整理后文本=
    select
        a
    from
        tc,
        (
        select
            a1,
            a2
        from
            (
            select
                1,
                2,
                3
            from
                tc
            where
                a>2 and
                b>3 and
                c>4 
            group by
                a,
                b
            having
                a=2 and
                b=3 
            order by
                a ,
                c ) tre
        order by
            a1 ) tb
    order by
        a 

    19.

    原文=select name, cnt from tb where age=41 and age=42 and age=43 and level>9 or salary<30000 group by name,id order by name,id,age,level
    整理后文本=
    select
        name,
        cnt
    from
        tb
    where
        age=41 and
        age=42 and
        age=43 and
        level>9 or
        salary<30000 
    group by
        name,
        id
    order by
        name ,
        id ,
        age ,
        level 

    18.

    原文=select name, cnt from tb where age=41 and age=42 and age=43 and level>9 or salary<30000 order by name,id,age,level
    整理后文本=
    select
        name,
        cnt
    from
        tb
    where
        age=41 and
        age=42 and
        age=43 and
        level>9 or
        salary<30000 
    order by
        name ,
        id ,
        age ,
        level 

    17.

    原文=select name from tb where age=41 and level>9 or salary<30000 order by name,id,age,level
    整理后文本=
    select
        name
    from
        tb
    where
        age=41 and
        level>9 or
        salary<30000 
    order by
        name ,
        id ,
        age ,
        level 

    16.

    原文=select name from tb where age=41 and level>9 or salary<30000 order by name,id desc,age asc
    整理后文本=
    select
        name
    from
        tb
    where
        age=41 and
        level>9 or
        salary<30000 
    order by
        name ,
        id desc,
        age asc

    15.

    原文=select name from tb where age=41 and level>9 or salary<30000 order by name asc,id desc,age
    整理后文本=
    select
        name
    from
        tb
    where
        age=41 and
        level>9 or
        salary<30000 
    order by
        name asc,
        id desc,
        age 

    14.

    原文=select name from tb where age=41 and level>9 or salary<30000 order by name
    整理后文本=
    select
        name
    from
        tb
    where
        age=41 and
        level>9 or
        salary<30000 
    order by
        name 

    13.

    原文=select name from tb where age=41 and level>9 or salary<30000
    整理后文本=
    select
        name
    from
        tb
    where
        age=41 and
        level>9 or
        salary<30000 

    12.

    原文=select name from tb where age=41
    整理后文本=
    select
        name
    from
        tb
    where
        age=41 

    11.

    原文=select (select f1,f2,f3 from tbable) as x,(select a from tc) as cnt from b
    整理后文本=
    select
        (
        select
            f1,
            f2,
            f3
        from
            tbable) x,
        (
        select
            a
        from
            tc) cnt
    from
        b

    10.

    原文=select name as name,birthday as b,column c from tc c,tb b,(select a1,a2,a3 from (select * from tbc) tbc) ta
    整理后文本=
    select
        name name,
        birthday b,
        column c
    from
        tc c,
        tb b,
        (
        select
            a1,
            a2,
            a3
        from
            (
            select
                *
            from
                tbc) tbc) ta

    09.

    原文=select name as name,birthday as b,column c from (select a,c,b from tb) tb,(select a1,a2,a3 from (select * from (select t1,t2,t3,t4,t5,t6 from (select t1,t2,t3,t4,t5,t6,t7 from table4 ) t2) t1) tbc) ta
    整理后文本=
    select
        name name,
        birthday b,
        column c
    from
        (
        select
            a,
            c,
            b
        from
            tb) tb,
        (
        select
            a1,
            a2,
            a3
        from
            (
            select
                *
            from
                (
                select
                    t1,
                    t2,
                    t3,
                    t4,
                    t5,
                    t6
                from
                    (
                    select
                        t1,
                        t2,
                        t3,
                        t4,
                        t5,
                        t6,
                        t7
                    from
                        table4) t2) t1) tbc) ta

    08.

    原文=select name as name,birthday as b,column c from (select a,c,b from tb) tb,(select a1,a2,a3 from (select * from (select t1,t2,t3,t4,t5,t6 from test) t1) tbc) ta
    整理后文本=
    select
        name name,
        birthday b,
        column c
    from
        (
        select
            a,
            c,
            b
        from
            tb) tb,
        (
        select
            a1,
            a2,
            a3
        from
            (
            select
                *
            from
                (
                select
                    t1,
                    t2,
                    t3,
                    t4,
                    t5,
                    t6
                from
                    test) t1) tbc) ta

    07.

    原文=select name as name,birthday as b,column c from (select a,c,b from tb) tb,(select a1,a2,a3 from (select * from tbc) tbc) ta
    整理后文本=
    select
        name name,
        birthday b,
        column c
    from
        (
        select
            a,
            c,
            b
        from
            tb) tb,
        (
        select
            a1,
            a2,
            a3
        from
            (
            select
                *
            from
                tbc) tbc) ta

    06.

    原文=select name as name,birthday as b,column c from (select a,c,b from tb) tb,(select a1,a2,a3 from table_a) ta
    整理后文本=
    select
        name name,
        birthday b,
        column c
    from
        (
        select
            a,
            c,
            b
        from
            tb) tb,
        (
        select
            a1,
            a2,
            a3
        from
            table_a) ta

    05.

    原文=select name as name,birthday as b,column c from (select a,c,b from tb) tb
    整理后文本=
    select
        name name,
        birthday b,
        column c
    from
        (
        select
            a,
            c,
            b
        from
            tb) tb

    04.

    原文=select name as name,birthday as b,column c from tb
    整理后文本=
    select
        name name,
        birthday b,
        column c
    from
        tb

    03.

    原文=select name name,birthday b,column c from tb
    整理后文本=
    select
        name name,
        birthday b,
        column c
    from
        tb

    02.

    原文=select a,b,c from tb,tc,td,tf f,tg g
    整理后文本=
    select
        a,
        b,
        c
    from
        tb,
        tc,
        td,
        tf f,
        tg g

    01.

    原文=select a from b
    整理后文本=
    select
        a
    from
        b

    虽然还有力有未逮之处,但相对于之前用循环分支和正则表达式去硬解析好多了。

    --2020年5月29日--

  • 相关阅读:
    安装ThinkPHP
    PHP数据如何向上取整
    Bootstrap 网格系统
    一篇文章让你详细了解何为JSON
    swan.onPageNotFound
    php长连接和短连接的使用场景
    写php用什么编辑器
    php随机数原理
    php接受post传值的方法
    做网站用php还是python
  • 原文地址:https://www.cnblogs.com/heyang78/p/12985801.html
Copyright © 2020-2023  润新知