文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

什么是mysql子查询及如何运用

2024-04-02 19:55

关注

下面讲讲关于什么是mysql子查询及如何运用,文字的奥妙在于贴近主题相关。所以,闲话就不谈了,我们直接看下文吧,相信看完什么是mysql子查询及如何运用这篇文章你一定会有所受益。 

例:
什么是mysql子查询及如何运用
修改后:
什么是mysql子查询及如何运用

如果将该“select 5000”的子查询语句,替换为“select出来所有商品的平均价”,就具有了现实含义。

在形式上,可以有如下表达:

即可以在这几个位置出现子查询(其中having其实也可以,因为它跟where是一样含义);

子查询,按位置(场合)分:

类型形式
作为主查询的结果数据select c1,(select f1 from tab2) as f11 from tab1; #这里子查询应该只有一个数据(一行一列,标量子查询)
作为主查询的条件数据select c1 from tab1 where c1 in (select f1 from tab2); #这里子查询可以是多个数据(多行一列,列子查询)
作为主查询的来源数据select c1 from (select f1 as c1, f2 from tab2) as t2; #这里子查询可以是任意查询结果(表子查询)

常见子查询

比较运算符中的子查询

形式:

说明:

  select ....  from XXX where  id > 5;

例:

select * from product  where  price = (select  max(price)  from  product );

使用in的子查询

XX  in  (值1,值2,值3,....);
XX  in  (列子查询)

例:

select  *  from  product  where  protype_id  in( 
select  protype_id  from  product_type  where  protype_name  like ‘%电%’
);

使用any的子查询

形式:

操作数 比较运算符 any  (列子查询);

含义:

select  *  from  tab1  where  id >  any  (select  f1  from  tab2);

使用all的子查询:

形式:

操作数  比较运算符 all   (列子查询);

含义:

例:

select  *  from  tab2  where  f1  >  all  ( select  id  from   tab1 );

使用some的子查询

使用exists的查询

形式:

where  exists( 子查询 )

含义:

说明:

因为,exists子查询的该含义,造成主查询往往出现这样的情形:要么全都取出,要么都不取出。如果局限于这个含义(使用情形),其基本就失去了它的现实使用意义。

所以:

实际应用中,该子查询,往往都不是独立的子查询,而是会需要跟“主查询”的数据源(表),建立某种关系——通常就是连接关系。建立的方式是“隐式的”,即没有在代码上体现关系,但却在内部有其连接的“实质”。

例:

结果就:
什么是mysql子查询及如何运用

注意:
- 这种子查询语句,没法“独立存在(独立运行)”,而是必须跟主查询一起使用;
- 其他子查询,是可以独立运行的,而且会得到一个运行的结果。
- 该子查询中的条件,应该设定为跟主查询的某个字段有一定的关联性判断,通常该判断就是这两个表的“本来该有的连接条件”

对于以上什么是mysql子查询及如何运用相关内容,大家还有什么不明白的地方吗?或者想要了解更多相关,可以继续关注我们的行业资讯板块。

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-数据库
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯