概述
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
http://www.cnblogs.com/yank/p/3672478.html
最后
以上就是从容蜗牛为你收集整理的sql进阶-多表查询和复合查询的全部内容,希望文章能够帮你解决sql进阶-多表查询和复合查询所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复