300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > 一天学会MySQL数据库(11):子查询之ANY和ALL的使用

一天学会MySQL数据库(11):子查询之ANY和ALL的使用

时间:2022-01-16 16:19:30

相关推荐

一天学会MySQL数据库(11):子查询之ANY和ALL的使用

最近在学习数据库,寻找教程中,苦于视频长度几十个小时,没有沉下心去看,发现一个六小时长度的mysql教程,发现还不错,学习并记录学习笔记。

资源地址在最下方。

本篇文章,作为学习笔记可配套学习!

ANY和ALL

概念练习ANY:任意一个表示所有的 ALL 视频资源:

概念

首先any和all都是用于子查询的;

ALL:是所有,表示全部都满足才返回true

ANY:是任意一个 ,表示有任何一个满足就返回true

练习

ANY:任意一个

查询课程 3-105 且成绩 至少 高于 3-245 其中一名同学的 score 表。

SELECT * FROM score WHERE c_no = '3-105';+------+-------+--------+| s_no | c_no | degree |+------+-------+--------+| 101 | 3-105 |90 || 102 | 3-105 |91 || 103 | 3-105 |92 || 104 | 3-105 |89 || 105 | 3-105 |88 || 109 | 3-105 |76 |+------+-------+--------+SELECT * FROM score WHERE c_no = '3-245';+------+-------+--------+| s_no | c_no | degree |+------+-------+--------+| 103 | 3-245 |86 || 105 | 3-245 |75 || 109 | 3-245 |68 |+------+-------+--------+

– ANY: 符合SQL语句中的任意条件。

– 也就是说,在 3-105 成绩中,只要有一个大于从 3-245 筛选出来的任意行就符合条件,

-- 最后根据降序查询结果。SELECT * FROM score WHERE c_no = '3-105' AND degree > ANY(SELECT degree FROM score WHERE c_no = '3-245') ORDER BY degree DESC;+------+-------+--------+| s_no | c_no | degree |+------+-------+--------+| 103 | 3-105 |92 || 102 | 3-105 |91 || 101 | 3-105 |90 || 104 | 3-105 |89 || 105 | 3-105 |88 || 109 | 3-105 |76 |+------+-------+--------+

表示所有的 ALL

查询课程 3-105 且成绩高于 3-245 的 score 表。

– 只需对上一道题稍作修改。

– ALL: 符合SQL语句中的所有条件。

– 也就是说,在 3-105 每一行成绩中,都要大于从 3-245 筛选出来全部行才算符合条件。

SELECT * FROM score WHERE c_no = '3-105' AND degree > ALL(SELECT degree FROM score WHERE c_no = '3-245');+------+-------+--------+| s_no | c_no | degree |+------+-------+--------+| 101 | 3-105 |90 || 102 | 3-105 |91 || 103 | 3-105 |92 || 104 | 3-105 |89 || 105 | 3-105 |88 |+------+-------+--------+

视频资源:

《一天学会MySQL数据库》

/video/BV1Vt411z7wy?p=21

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。