当前位置:首页 > 程序猿 > 数据库 > 正文

你真的会玩SQL吗?无处不在的子查询

子查询又称内部,而包含子查询的语句称之外部查询(又称主查询)。

所有的子查询可以分为两类,即相关子查询和非相关子查询
  1. 非相关子查询是独立于外部查询的子查询,子查询总共执行一次,执行完毕后将值传递给外部查询。
  2. 相关子查询的执行依赖于外部查询的数据,外部查询执行一行,子查询就执行一次。

故非相关子查询比相关子查询效率高

非相关子查询

相关子查询

子查询

92bcc21a9c10b7514fda438db09823c3

嵌套子查询,非相关子查询   

相关例子 相关子查询和嵌套子查询 [SQL Server]

7c2d1a5a487d58b9a1cbcb10c276c7dd

相关子查询

6b72b9ade29f29eeb238df7ccdc7fd1c

自联接

84a0a88aee7a56627e4ca87bd02d7f30

e0f596a9282d6864848ead15983bbcbd

联合查询

  • Union 操作符:将两个或更多个 SELECT 语句的结果合并为一个结果集。
  • 联合可以指定为如下形式:SELECT 语句    UNION [ALL]           SELECT 语句

使用 ALL 子句表示不删除重复的行

3e4008b426fbb87b550e7d7a3d2bff90

联合查询注意事项:

  1. 每个select必须具有相同的列结构
  2. 兼容列类型(指优先级较低数据类型必须能隐式地转换为较高级的数据类型)和相同数目的列

 

练习:

使用子查询

参考SQL:

参考SQL:

参考SQL:

标签:
上一篇: 下一篇:

暂无评论

发表评论

不理你。 不要啊! 吃饭。 吃惊。 吃西瓜。 飞吻! 恭喜! Hi 纠结! 膜拜! OK 抛媚眼。 泡泡糖。 抛钱。 忍! 生闷气! 调皮。 偷看。 委屈。 献花。 疑问? 抓狂!