Mysql基础(五):sql查询(五)子查询

##进阶7:子查询

含义:

  一条查询语句中又嵌套了另一条完整的select语句,其中被嵌套的select语句,称为子查询或内查询
  在外面的查询语句,称为主查询或外查询

特点:

  1、子查询都放在小括号内
  2、子查询可以放在from后面、select后面、where后面、having后面,但一般放在条件的右侧
  3、子查询优先于主查询执行,主查询使用了子查询的执行结果
  4、子查询根据查询结果的行数不同分为以下两类:
  ① 单行子查询
    结果集只有一行
    一般搭配单行操作符使用:> < = <> >= <=
    非法使用子查询的情况:
    a、子查询的结果为一组值
    b、子查询的结果为空

② 多行子查询
    结果集有多行
    一般搭配多行操作符使用:any、all、in、not in
    in: 属于子查询结果中的任意一个就行
    any和all往往可以用其他查询代替

原文地址:https://www.cnblogs.com/qiu-hua/p/14873497.html