MYSQL学习笔记----子查询

1、子查询
    (1)子查询是指出现在其他的SQL语句内的SELECT字句

     例如:
    SELECT * FROM t1 WHERE col1 = (SELECT col2 GROM t2);
    ■解说:
    --- SELECT * FROM t1 表示外部查询(Outer statement)
    --- SELECT col2 GROM t2 表示内部查询,也称为子查询(subquery)
   
    !注意:
     ---子查询指嵌套在查询内部,并且必须始终出现在圆括号内
     ---子查询可以包含多个关键字或条件
         如:DISTINCT,GROUP BY ,ORDER BY ,LIMIT ,函数等。
     ---子查询的外层查询可以是:SELECT ,INSERT,UPDATE,SET 或DO.
     ---子查询可以返回标量,一行,一列或子查询。
  
    (2)使用比较运算符的子查询
       ---使用比较运算符的子查询
           = ,>,<,>=,<=,<>,!=,<=>
       ---语法结构
          SELECT * FROM t1 WHERE col1 > (SELECT col2 GROM t2);


     (3)使用ANY,SOME,或ALL修饰的比较运算符

         ---语法结构
          SELECT * FROM t1 WHERE col1  =ANY (SELECT col2 GROM t2);


        ■解说:
          ANY ,SOME,ALL关键字
        ----------------------------------------------
                    ANY      SOME       ALL
        ----------------------------------------------
          >,>=     最小值    最小值    最大值
        ----------------------------------------------
          <,<=     最大值    最大值    最小值
        ----------------------------------------------
           =        任意值    任意值
        ----------------------------------------------
          <>,!=,                        任意值
        ----------------------------------------------


        (4)使用[NOT] IN的子查询

          ---语法结构
          SELECT * FROM t1 WHERE col1 ANY (SELECT col2 GROM t2);
            
           !注意:
            =ANY运算符与IN等效

            != ALL 或<>运算符与NOT IN等效


         (5)使用[NOT]EXISTS的子查询
             ---如果子查询返回任意行,EXISTS将返回TRUE;否则为FALSE




           (6)将查询结构写入数据表
               ---语法结构
                INSERT [INTO] table_name [(col_nmae,..)]
               SELECT...

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值