描述

如果需要按照某一些特定条件筛选数据,一般用where或者是group by就可以解决。但是有一类问题比较绕,需要输出的是符合条件的所有的某一个值对应的所有的数据。
如例:设每个学生可能会有很多门课程,输出所有课程分数加起来大于500的学生的所有课程。这个问题和一般的问题不太一样,一般的按条件筛选都是要求找到所有课程分数加起来大于500的学生。所以,在这里需要用group这个功能生成一个子查询,将子查询作为一个条件参数而不是结果。

案例

牛客网上的一个例子很不错:

这个问题的一个典型解决方式就是用子查询作为筛选参数

select * from order_info
where
user_id in
(
select user_id from order_info
WHERE status='completed'
and date>'2025-10-15'
and product_name in ('C++','Python','Java')
GROUP BY user_id
HAVING count(*)>1)
status='completed'
and date>'2025-10-15'
and product_name in ('C++','Python','Java')
ORDER BY id;

为什么筛选条件要写两遍?因为在子查询中筛选出来的user_id符合筛选要求,并不代表user_id所对应的内容也符合要求。比如,user_id对应的课程完成情况就有可能是未完成。所以需要在子查询筛选完后,再筛选一次。

[SQL]将子查询作为查询条件相关推荐

  1. MySQL基础——数据库和SQL概述\MySQL基本使用\DQL语言学习\条件查询\排序查询\常见函数\分组查询\连接查询\子查询\分页查询\联合查询

    本文详细讲解了MySQL中DQL语言,也就是数据查询语句的使用.全文3w余字,是对学习MySQL知识的整理总结,因为篇幅较长,MySQL基础知识余下部分发表在余下博客中 DML语言学习\插入数据\删除 ...

  2. SQL之EXISTS子查询和IF条件查询

    不积跬步,无以至千里. " 今天给大家分享的是SQL的EXISTS子查询和IF条件查询语句. EXISTS EXISTS子查询 EXISTS用于检查子查询是否至少会返回一行数据,该子查询实际 ...

  3. SQL 基础-- 子查询

    --========================= --SQL 基础--> 子查询 --========================= /* 一.子查询 子查询就是位于SELECT.UP ...

  4. 金仓数据库 KingbaseES SQL 语言参考手册 (10. 查询和子查询)

    10. 查询和子查询 本章描述SQL查询以及子查询.包含以下章节: 关于查询和子查询 创建简单查询 层次查询 集合操作 查询结果排序 JOIN操作 使用子查询 限制嵌套查询层数 DUAL表查询 10. ...

  5. 零基础自学SQL课程 | 子查询

    大家好,我是宁一. 今天讲解SQL教程第18课:子查询. SQL语句可以嵌套,最常见的就是查询语句的嵌套. 基本语法: SELECT <字段名> FROM <表名> WHERE ...

  6. 阿里云天池龙珠计划SQL训练营Task03:复杂查询方法-视图、子查询、函数等

    本笔记为阿里云天池龙珠计划SQL训练营的学习内容,链接为:https://tianchi.aliyun.com/specials/promotion/aicampsql: 3.1 视图 我们先来看一个 ...

  7. 阿里云AI训练营-SQL基础3:复杂查询方法-视图、子查询、函数等

    3.1 视图 3.1.1 什么是视图 3.1.2 视图与表有什么区别 3.1.3 为什么会存在视图 3.1.4 如何创建视图 3.1.5 如何修改视图结构 3.1.6 如何更新视图内容 3.1.7 如 ...

  8. SQL Server子查询

    SQL Server子查询 一. SQL Server子查询. 子查询是一个嵌套在另一个语句(如:[SELECT],[INSERT],[UPDATE]或[DELETE])语句或其他子查询中的查询.任何 ...

  9. util-C# 复杂条件查询(sql 复杂条件查询)查询解决方案

    ylbtech-funcation-util:  C# 复杂条件查询(sql 复杂条件查询)查询解决方案 C# 复杂条件查询(sql 复杂条件查询)查询解决方案 1.A,Ylbtech.Model返回 ...

最新文章

  1. Stormpath发布了简化移动和前端身份验证的客户端API
  2. go标准库的学习-fmt
  3. 柱形图无数据可选中_这种漂亮的“连体”柱形图,99%的人不会做!
  4. oracle表分析 示例
  5. java并发之线程封闭(二)
  6. 不一样的视角,程序员世界里的环保
  7. 通过telnet连接查看memcache服务器
  8. (软件工程复习核心重点)第八章面向对象方法学-第四节:面向对象建模之动态模型和功能模型
  9. 特斯拉奔驰宝马沃尔沃团灭!安全的半自动驾驶?不存在的
  10. SpringBoot四大核心组件,你了解多少
  11. Python 错误记录(新手)
  12. 电子协会 C语言 1级 34 、分段函数
  13. System V 与 POSIX 简介与对比
  14. 移动显示服务器异常,移动远程服务器异常
  15. 云计算防止入坑之通过跑分看云服务器的性能,给各位云计算入门者的一些建议
  16. Python的特殊属性和用法
  17. wifi7000米远程连接服务器失败,【电视派控制设备连wifi总失败 怎么办?】PjTime.COM 应用技巧 创维...
  18. dashboard 镜像源_使用 tekton 做 CI/CD
  19. 内存条的逻辑BANK和RANK(物理BANK)概念
  20. 图像低频、高频信息的理解

热门文章

  1. PPT学习整理(一)默认设置
  2. 会声会影 X5 破解版下载 Corel VideoStudio Pro X5
  3. windows计划任务 0xff_利用定时任务和VBS设置windows自动语音定时提醒
  4. 风变编程—Python基础和爬虫精进
  5. 使用i标签添加简单图标
  6. (Fabric 学习二)测试fabric2.0 test-network使用basic链码
  7. APT60DQ60BG ASEMI超快软恢复整流二极管
  8. 内容营销:赚钱前提弄明白,何谈赚不到钱?
  9. 搜索引擎优化 简称SEO
  10. 【转载】SAP事物代码