MySQL_第九章子查询

本文详细介绍了MySQL中的子查询,包括子查询的定义、类型,特别是非关联子查询中的多行单列查询,如IN、NOT IN、ALL和ANY运算符的使用。此外,还深入讲解了关联子查询,尤其是EXISTS运算符在更新和删除操作中的应用,并提到了关联子查询的注意事项和潜在问题。
摘要由CSDN通过智能技术生成

9.1子查询定义

9.2类型

9.3 非关联子查询

标量子查询:返回值单行单列
在使用表达式进行查询的时候,注意表达式的返回值数目,
例如:当使用等于表达式时,只能一对一,即返回值必须是单个

9.3.1 多行单列查询

  • IN, NOT IN 运算符
  • note:

可能重复数据, DISTINCT 可消除
查看是否 NULL

  • ALL 运算符, ANY运算符

【1】某单值与集合中的每一个元素进行比较,用到比较运算符(=,<>,<,>)

在这里插入图片描述
【2】

在这里插入图片描述
【3】in运算符,与=any 功能一致

9.4 关联子查询

子查询与主查询由等式或不等式进行连接

9.4.1 exist 运算符**

可在关联子查询中使用,
只关心是否存在,不关心数量

9.4.2 关联子查询操作数据**

可在update 或delete 前加上,where exist 判断是否存在在这里插入图片描述

  • note:
    delete时,不要使用表别名

9.4.3 insert()

在这里插入图片描述- 缺点:

在这里插入图片描述

9.5总结

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值