用于测试 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日--