子查询就是指在一个select语句中嵌套另一个select语句。

any,in,some,all分别是子查询关键词之一,

any 可以与=、>、>=、结合起来使用,分别表示等于、大于、大于等于、小于、小于等于、不等于其中的任何一个数据。

all可以与=、>、>=、结合是来使用,分别表示等于、大于、大于等于、小于、小于等于、不等于其中的其中的所有数据。

他们进行子查询的语法如下:

operand comparison_operator any(subquery);

operandin(subquery);

operand coparison_operatorsome(subquery);

operand comparison_operatorall (subquery);

any,all关键字必须与一个比较操作符一起使用。any关键词可以理解为“对于子查询返回的列中的任一数值,如果比较结果为true,则返回true”。

例如:

select s1 from t1 where s1 > any (select s1 from t2);

假设表t1中有一行包含(10),t2包含(21,14,6),则表达式为true;如果t2包含(20,10),或者表t2为空表,则表达式为false。如果表t2包含(null,null,null),则表达式为unkonwn。

all的意思是“对于子查询返回的列中的所有值,如果比较结果为true,则返回true”

例如:

select s1 from t1 where s1 > all(select s1 from t2);

假设表t1中有一行包含(10)。如果表t2包含(-5,0,+5),则表达式为true,因为10比t2中的查出的所有三个值大。如果表t2包含(12,6,null,-100),则表达式为false,因为t2中有一个值12大于10。如果表t2包含(0,null,1),则表达式为unknown。如果t2为空表,则结果为true。

not in 是 “<>all”的别名,用法相同。

语句in 与“=any”是相同的。

例如:

select s1 from t1 where s1 = any (select s1 fromt2);select s1 from t1 where s1 in (select s1 from t2);

语句some是any的别名,用法相同。

例如:

select s1 from t1 where s1 <> any (select s1 fromt2);select s1 from t1 where s1 <> some (select s1 from t2);

在上述查询中some理解上就容易了“表t1中有部分s1与t2表中的s1不相等”,这种语句用any理解就有错了。

mysql里any是什么_【MySQL】mysql中any,in,some,all的区别相关推荐

  1. mysql 自动化运维工具_部署MySQL自动化运维工具inception+archer

    *************************************************************************** 部署MySQL自动化运维工具inception+ ...

  2. mysql和python的关系_八MySQL与Python

    <1>数据库介绍 什么是数据库? 数据库(Database)是按照数据结构来组织.存储和管理数据的仓库, 每个数据库都有一个或多个不同的API用于创建,访问,管理,搜索和复制所保存的数据. ...

  3. mac下安装mysql 5.7.11卡住_【mysql】Mac下安装mysql5.7 完整步骤,大坑已解决

    最近使用Mac系统,准备搭建一套本地web服务器环境.因为Mac系统自带PHP和apach,但是没有自带mysql,所以要手动去安装mysql,本次安装mysql最新版5.7.17. 1.官网下载 点 ...

  4. mysql设置参数不生效_关于mysql的wait_timeout参数 设置不生效的问题【转】

    关于wait_timeout 有一次去online set wait_timeout 的时候发现改了不生效,如下: mysql> show variables like 'wait_timeou ...

  5. mysql语句导出数据库文件_通过Mysql命令行语句来导入、导出数据库文件

    Mysql命令行导出数据库: 1.首先我们通过命令行进入到mysql安装目录的bin目录下,比如我输入的命令行为: cd C:\Program Files\MySQL\MySQL Server 5.5 ...

  6. mysql主从切换gtid不一致_解决mysql使用GTID主从复制错误问题

    解决mysql使用GTID主从复制错误问题 做MySQL主从的话肯定会遇到很多同步上的问题, 大多数都是由于机器宕机,重启,或者是主键冲突等引起的从服务器停止工作, 这里专门收集类似问题并提供整理解决 ...

  7. mysql数据没有同步更新_解决MySQL的主从数据库没有同步的两种方法

    问题 今天发现Mysql的主从数据库没有同步 先上Master库: mysql>show processlist; 查看下进程是否Sleep太多.发现很正常. show master statu ...

  8. mysql 输出解释怎么看_了解MySQL中EXPLAIN解释命令

    1 EXPLAIN概念 EXPLAIN会向我们提供一些MySQL是执行sql的信息: EXPLAIN可以解释说明 SELECT, DELETE, INSERT, REPLACE, and UPDATE ...

  9. mysql根据成绩排名次_用mysql语句 实现按成绩 排名次

    mysql:查询排名 sql语句查询排名 思路:有点类似循环里面的自增一样,设置一个变量并赋予初始值,循环一次自增加1,从而实现排序: mysql里则是需要先将数据查询出来并先行按照需要排序的字段做好 ...

最新文章

  1. 【MATLAB】矩阵分析之向量和矩阵的范数运算
  2. 修改Visual Studio 2010帮助位置
  3. oracle11gRAC之log日志体系
  4. 信息系统项目管理师-挣值管理(PV、 AC、 EV、 ETC、 CV、 SV、 CPI、 SP)
  5. register---C语言中最快的关键字
  6. 模板原理和操作数据类的观点【艰难的一天,慢慢的会过去的】
  7. 设计模式示例_代理设计模式示例
  8. react 16.6 懒加载 Lazy 尝鲜
  9. 杨潮观《偷桃捉住东方朔》
  10. 【更新】Navicat Monitor v1.7的新功能说明
  11. 运维人员如何学好shell脚本编程
  12. 产品经理 需求 项目经理 选择_【产品】产品和项目,产品经理和项目经理 区别...
  13. JavaWeb项目结构
  14. python django 商品进销存管理系统(毕设、课设、学习)
  15. kerberos认证下kafka报错Bootstrap broker host:ip (id: -1 rack: null) disconnected
  16. 深度学习中初始化权重
  17. autojs发射广播源码,使用了sendBroadcast方法
  18. python训练Word2Vec词向量
  19. android 输入法模式,android输入法的四种模式(弹出输入法式的窗口变化)
  20. 基于jsp的旅游信息网站的设计

热门文章

  1. 老公给同办公室的女同事发红包,正常吗?
  2. 正则表达式——python对字符串的查找匹配
  3. css/html 定位 绝对定位/相对定位
  4. Null ModelAndView returned to DispatcherServlet with name ‘springmvc‘: assuming HandlerAdapter compl
  5. Ubuntu Unable to locate package bulld-essential
  6. WPARAM 和 LPARAM 使用
  7. C语言 递归求n的阶乘和
  8. 求阶乘的和(C++)
  9. git commit命令详解
  10. Sql server 日期函数和日期转换