sql作为大家工作中每天都在接触的内容,重要性不言自明,下面是我近期遇到的的一些内容,分享出来,如有问题,欢迎指正。
l SELECT uid as u, vid as v FROM TableA WHEREvid='684020793';
这样为列取别名,查询结果中就会以别名显示查询结果
l SELECT * from TableA WHERE uid = (SELECTuid as u FROM TableA WHERE vid='684020793'); -- 或者使用some
这样使用子查询(括号内)的查询结果,作为查询条件进行父操作;some()包含指定即可
l SELECT TableA.uid as u, certid asshenfenzheng from TableA JOIN TableC ON TableA.uid=TableC.uid;
表连接 join on
l SELECT uid ,balance FROM (SELECT * from TableAwhere balance >20000) as A;
以子查询的结果作为一张表 进行查询,一定需要as A,否则提示错误Every derived table must have its own alias
l SELECT * FROM TableL where vid in (SELECT vidfrom TableA WHERE realname in('NxWX74TgH5E=','9HkoYt/0dBQ=','2MfFa2Frq0N4CCjkieTeUw=='));
子查询作为条件。运用in
l SELECT * FROM ((SELECT * from TableA where`status`=0) as A JOIN (SELECT * FROM TableL) as B ON A.vid=B.vid);
两个子查询分别作为AB表进行join后作为新表进行查询,这时,sql最后加上as C 会报错!
注意: 在操作生产环境数据或者进行DB变更中,sql应该尽量高效,减少子查询,将可以查询到的条件都查询出来,而不是内置子查询
学习资料:
http://www.w3school.com.cn/sql/sql_in.asp
http://www.cnblogs.com/kissdodog/archive/2013/06/03/3116284.html