MySQL嵌套查询实现子查询的方法

MySQL嵌套查询实现子查询的方法,第1张

MySQL嵌套查询实现子查询的方法 目录
  • 一个查询语句嵌套在另一个查询语句内部的查询
  • 1.带ANY(SOME)关键字的子查询
  • 2.带ALL关键字的子查询
  • 3.带EXISTS关键字的子查询
  • 4.带IN关键字的子查询
  • 5.带比较运算符的子查询

一个查询语句嵌套在另一个查询语句内部的查询

常用 *** 作符:ANY(SOME), ALL, IN, EXISTS

比较运算符:>, >=, <, <=, != 等

创建两个表,表明分别是tb1,tb2,并向其各插入了数据。

1.带ANY(SOME)关键字的子查询

这里any和some是同义词,都是表示满足任一条件。

例:查询tb1中的所有数据,只要大于tb2表中数据的任意值,既符合查询条件。

select num1 from tb1 where num1>ANY(select num2 from tb2);

2.带ALL关键字的子查询

例:查询tb1中的所有数据,返回其中比tb2表中任何值都大的数据。

select num1 from tb1 where num1>ALL(select num2 from tb2);

3.带EXISTS关键字的子查询

例1:查询fruits表中name字段下是否有apple,若有则查询fruits表中的记录,否则不查询。

select * from fruits where EXISTS(select name from fruits where name='apple');

例2:查询tb1表中是否存在num1=13的记录,若存在,则查询fruits表中price大于6.00的记录。

select * from fruits where price>6.00 and EXISTS (select num1 from tb1 where num1=13);

相反,可以使用 not exists 查询不存在的,用法相同。

4.带IN关键字的子查询

表示查询结果在后面子查询的范围之中

例如:查询tb1表中的num1字段下的数据作为数据列,fruits表中id字段下的数据与其进行比较,返回符合条件的记录。

select * from fruits where id IN (select num1 from tb1);

5.带比较运算符的子查询
select * from 表名 where 字段名 > (select ······);

到此这篇关于MySQL嵌套查询实现子查询的方法的文章就介绍到这了,更多相关MySQL 子查询内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/sjk/2997055.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-09-26
下一篇 2022-09-26

发表评论

登录后才能评论

评论列表(0条)

保存