mysql里all的意思和用法

mysql中all的用法:1、all是“对于子查询返回的列中的所有值,如果比较结果为true,则返回true”;2、all可以与【=、>、>=、】结合是来使用,分别表示等于、大于、大于等于、小于、小于等于、不等于。

db545fb86b62b97c8cfb69315b9d1e9c.png

mysql中all的用法:

最近一直在练习MYSQL的多表查询,基本上每个查询语句我都会写至少两次:一次join连接,一次子查询。来对比一下MYSQL在不同的查询方式下的工作方式和效率。在子查询有any、all、some这些关键词。

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

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

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

举个例子:

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

假设any后面的s1返回了三个值,那其实就等价于

select s1 from t1 where s1 > result1 or s1 > result2 or s2 > result3

而all的用法相当于把上述语句的‘or’缓冲‘and’

说道这你可能已经知道了any和or常用于两表的对比,当你不知道where后面具体值是可以用any,all帮你判定。

猜你喜欢

转载自blog.csdn.net/weixin_48419914/article/details/121637056