这几天做一个功能,对数据库中存在的数据进行统计,涉及到多表操作,这让我想到之前在实习公司做的功能,都是统计和校验数据,我做的方法就是先将数据查找出来,然后循环操作!在实习公司做功能花了一个星期,然后我的Mentor看到后,无力的笑着对我说,“你这样做到后来会将数据库搞垮,数据几十万条,你一条一条的查找去吧,数据库能操作的就尽量用SQL搞定”
今天下午搞了个循环,晚上老大来检查的时候,也说,你这样不行,效率太低了,应该用SQL语句搞,于是给我说了IFNULL和CONCAT,还有INSERT INTO。。。SELECT。。。
果然,最后两条SQL语句,代替了我一大段的java代码。。。一边感叹老大的技术,一边再想把这些SQL函数学一学,这次用过,下次就会用了嘛!
——————————-分割线——————————–
CONCAT(str1,str2,…)
返回结果为连接参数产生的字符串。如有任何一个参数为NULL ,则返回值为 NULL。
注意:
如果所有参数均为非二进制字符串,则结果为非二进制字符串。
如果自变量中含有任一二进制字符串,则结果为一个二进制字符串。
一个数字参数被转化为与之相等的二进制字符串格式;若要避免这种情况,可使用显式类型 cast。
例如
SELECT CONCAT(