MySQL_子查询

子查询的介绍

子查询是指嵌套在其他SQL语句内的查询语句,且必须始终出现在圆括号内;执行时先计算子查询,子查询的结果作为外层另一个查询的过滤条件

  • 例:SELECT * FROM table1 WHERE col1 = (SELECT col2 FROM table2);
    

带比较运算符的子查询

用ANY、ALL、SOME关键字修饰子查询

  • ANY、ALL、SOME关键字放在比较运算符的后面
  • ANY和SOME是同义词,表示满足内层子查询中的任何一个条件
  • ALL表示需要同时满足所有内层查询的条件

带关键字[NOT] IN的子查询

SELECT * FROM table WHERE colName IN (子查询);

  • IN关键字进行子查询时,内层查询语句仅仅返回一个数据列,这个数据列里的值将提供给外层查询语句进行比较操作
  • NOT IN 正好与 IN 的作用相反

带关键字[NOT] EXISTS的子查询

SELECT * FROM table WHERE EXISTS (子查询);

  • 判断子查询是否返回行
  • 如果返回,那么EXISTS的结果为True
  • 如果没有返回任何行,那么EXISTS返回的结果为False

插入记录时使用子查询

INSERT … SELECT

INSERT INTO table2 SELECT * FROM table1;

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值