Mysql子查询
1单值(Scalar operand)
只有当外层(Parent)不为空时,才返回相应值;否则返回NULL。

note:For the subquery just shown, if t1 were empty, the result would be NULL even though s2 is NOT NULL.
2 用于操作符比较
[14.2.10.2 Comparisons Using Subqueries]
non_subquery_operand comparision_operator (subquery)
the comparision_operator is :=,>,>=,<,<=,!=,like ,<=>[和=功能相似,也可用于NULL值比较]
3 使用IN,ANY,SOME
operand comparison_operator ANY (subquery)
operand IN (subquery)
operand comoparison_operator SOME (subquery)
where comparison_operator is one of these operators:=,>, >=,<,<=,<>,!=
ANY,说明任何一个。只要右侧操作数中的任一个满足操作数条件,就为true.[ANY (不能是常量值)]

IN,包含[可以有常量值,多个用","分隔]。
SOME 与ANY 在功能上等价,只是在日常语法上不同。

4,使用ALL
operand comparison_operator ALL (subquery)
满足所有,才返回true.
5, 行子查询[Row subqueries]
值或列子查询(如上所示)返回一个值或符合条件的一列值;行子查询返回一行数据,可能有多个列;行子查询的合法操作符为:
=,>,<,>=,<=,<>,!=,<=>

只有多列同时满足操作符才返回true,否则为false or NULL.
6,使用 EXISTS OR NOT EXISTS
当子查询返回有数据时,EXISTS subquery 为true,AND NOT EXISTS subquery 为false.
7,关联子查询
是含有对外层查询有引用的查询。

8 用于From子句
9.子查询错误

10,优化子查询
【Development is ongoing,so no optimization tip is reliable for the long term.】开发正在进行时,从长期发展看没有可靠的优化技巧。
Mysql子查询的更多相关文章
- [慢查优化]慎用MySQL子查询,尤其是看到DEPENDENT SUBQUERY标记时
案例梳理时间:2013-9-25 写在前面的话: 在慢查优化1和2里都反复强调过 explain 的重要性,但有时候肉眼看不出 explain 结果如何指导优化,这时候还需要有一些其他基础知识的佐助, ...
- Mysql子查询、关联查询
mysql中update.delete.install尽量不要使用子查询 一.mysql查询的五种子句 where(条件查询).having(筛选).group by(分组).orde ...
- Mysql子查询IN中使用LIMIT
学习下Mysql子查询IN中使用LIMIT的方法. 这两天项目里出了一个问题,mysql LIMIT使用后报错. 需求是这样的,我有3张表,infor信息表,mconfig物料配置表,maaply物料 ...
- MySQL 子查询 EXISTS 和 NOT EXISTS(转)
MySQL EXISTS 和 NOT EXISTS 子查询 MySQL EXISTS 和 NOT EXISTS 子查询语法如下: SELECT ... FROM table WHERE EXISTS ...
- mysql子查询慢的问题
当你在用explain工具查看sql语句的运行计划时.若select_type 字段中出现"DEPENDENT SUBQUERY"时,你要注意了.你已经掉入了mysql子查询慢 ...
- MySQL子查询,派生表和通用表达式
一:子查询 1.介绍 在另一个查询(外部查询)中嵌套另一个查询语句(内部查询),并使用内部查询的结果值作为外部查询条件. 2.子查询在where中 SELECT customerNumber, che ...
- MySQL子查询慢现象的解决
当你在用explain工具查看sql语句的执行计划时,若select_type 字段中出现“DEPENDENT SUBQUERY”时,你要注意了,你已经掉入了mysql子查询慢的“坑". 相 ...
- MySQL子查询有哪五种形式?
MySQL是一个关系型数据库管理系统,由瑞典MySQLAB公司开发,目前属于Oracle旗下产品.MySQL是最流行的关系型数据库管理系统之一,在web应用方面,MySQL是最好的RDBMS(Rela ...
- mysql子查询用法
mysql子查询用法 1 可以当值来用<pre>select id from hcyuyin_share where id=(select id from hcyuyin_share li ...
- MySQL 子查询(一)
源自MySQL 5.7 官方手册 13.2.10 Subquery Syntax 〇.MySQL子查询介绍 子查询指的是嵌套在某个语句中的SELECT语句. MySQL支持标准SQL所要求的所有子查询 ...
随机推荐
- cpu利用率和cpu 队列
SIP的第四期结束了,因为控制策略的丰富,早先的的压力测试结果已经无法反映在高并发和高压力下SIP的运行状况,因此需要重新作压力测试.跟在测试人员后面做了快一周的压力测试,压力测试的报告也正式出炉,本 ...
- ios 客户端定位的3种方法
1.客户端通过IP地址定位 http://int.dpool.sina.com.cn/iplookup/iplookup.php 输出:城市 1 -1 -1 中国 广东 深圳 2.客户端获取经纬度,调 ...
- Javascript正则表达式匹配替换
根据正则表达式的匹配结果将匹配项替换为*function regReplace(reg, str){ var result, //最终输出结果 out, //每次运行正则exec返回的匹配结果. in ...
- Dp~Hrbust1426( 集训队的晚餐 )
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAxsAAAPRCAYAAACVrbUbAAAgAElEQVR4nOzdW5Bcx33n+X7aiH3b2J
- HDU 5014 Number Sequence(位运算)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5014 解题报告:西安网赛的题,当时想到一半,只想到从大的开始匹配,做异或运算得到对应的b[i],但是少 ...
- 跟着百度学PHP[4]-OOP面对对象编程-1-什么是面对对象编程
该阶段学习参考:http://www.cnblogs.com/xiaochaohuashengmi/archive/2010/09/10/1823042.html 面向对象编程(Object Orie ...
- 剑指Offer 用两个栈实现队列
题目描述 用两个栈来实现一个队列,完成队列的Push和Pop操作. 队列中的元素为int类型. 思路: 入队:将元素进栈A 出队:判断栈B是否为空,如果为空,则将栈A中所有元素pop,并push进 ...
- java78_c
import java.util.*; public class Main { public static void main(String args[]){ Scanner cin=new Scan ...
- TLS 与 python thread local
TLS 先说TLS( Thread Local Storage),wiki上是这么解释的: Thread-local storage (TLS) is a computer programming m ...
- MySQL一次插入多行数据
CREATE TABLE `viewhistory` ( `viewid` ) NOT NULL AUTO_INCREMENT, `uid` ) NOT NULL, `video` ) NOT NUL ...