我是靠谱客的博主 从容蜗牛,最近开发中收集的这篇文章主要介绍sql进阶-多表查询和复合查询,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述


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进阶-多表查询和复合查询所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(31)

评论列表共有 0 条评论

立即
投稿
返回
顶部