子查询

子查询简介

  • 子查询指嵌套在查询内部,且必须始终出现在圆括号内
  • 子查询可以包含多个关键字或条件
  • 子查询的外层查询可以是增删改查
  • 子查询返回值:可以返回标量、一行、一列或子查询

由比较运算符引发的子查询

  • 比较符 (operand-操作谁 comparison_operator-操作关系 subquery-子查询)
    =、>、<、>=、<=、<>、!=、<=>
  • 语法结构
    operand comparison_operator (subquery)
  • 子查询返回多个结果时,用ANY、SOME或ALL修饰比较运算符
    • 语法
      operand comparison_operator ANY (subquery)
      operand comparison_operator SOME (subquery)
      operand comparison_operator ALL (subquery)
    • 举例
      select * from 表名 where 字段名 = all(select from where)
    • 使用规则
      在这里插入图片描述

使用[NOT] IN 的子查询

IN:取值在子查询返回的结果里面
NOT IN:取值不在子查询返回的结果里面
!= ALL 或者<> ALL 运算符与 NOT IN 等价

  • 语法结构
    operand comparison_operator [NOT] IN (subquery)
  • 举例
    select * from 表名 where 字段名 in(select from where)

使用[NOT] EXISTS 的子查询

如果子查询返回任何行,EXISTS将返回TRUE;否则返回FALSE
使用比较少

使用INSERT…SELECT插入记录

用于将子查询查出来的值存入表中

  • 语法
    insert [into] 表名 (列名,…) select …

多表更新

参照其他表,更新本表的记录

  • 语法
    update 表1 连接符 表2 on 表的条件 set 表1.列1 =表2.列1,表1.列2 =表2.列2

使用CREATE TABLE…SELECT创建表

在创建数据表的同时,将查询的结果写入数据表

  • 语法
    create table 表名 (列 数据类型,列 数据类型, …)select …
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值