您的位置:首页 > 数据库

傻逼的sql

2016-06-07 17:01 288 查看
今天调试程序,发现了不知道哪位大神写的sql

select * from t1,(select * from t2) t2
where t1.id=t2.id


这个sql相当于
select * from t1, t2
where t1.id=t2.id


不知道脑子抽了还是怎么了能写出这么傻逼的sql。

于是乎我写了个傻逼sql生成器,专门生成这样的sql。

public class 傻逼sql生成器 {

public 傻逼sql生成器(String 表名, int sql层数) {
StringBuffer x = new StringBuffer();
String y = "select * from " + 表名;
StringBuffer z = new StringBuffer(" a0)");

for (int i = 1; i < sql层数; i++) {
x.append("select * from (\n");
for (int j = 0; j < i; j++) {
x.append(" ");
}
z.append("\n");
for (int k = sql层数 - 1; k > i; k--) {
z.append(" ");
}
z.append("a" + i + ")");
}
y = x + y+ z;
System.out.println(y.substring(0, y.length() - 1));
}

public static void main(String[] args) {
new 傻逼sql生成器("crm_salesman", 31);
}
}


输出:

select * from (
select * from (
select * from (
select * from (
select * from (
select * from (
select * from (
select * from (
select * from (
select * from (
select * from (
select * from (
select * from (
select * from (
select * from (
select * from (
select * from (
select * from (
select * from (
select * from (
select * from (
select * from (
select * from (
select * from (
select * from (
select * from (
select * from (
select * from (
select * from (
select * from (
select * from (
select * from crm_salesman a0)
a1)
a2)
a3)
a4)
a5)
a6)
a7)
a8)
a9)
a10)
a11)
a12)
a13)
a14)
a15)
a16)
a17)
a18)
a19)
a20)
a21)
a22)
a23)
a24)
a25)
a26)
a27)
a28)
a29)
a30)
a31


呵呵,我mysql本地环境select超过32层就执行不了了
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: