MySQL-子查询(嵌套)
了解子查询的最好方法就是看例子
现在我们来看看orders表和orderitems表
orders表
orderitems表
现在我想要查找所有订购物品id为TNT2的客户,怎么查?
orderitems里有prod_id
orders表里有cust_id
但这两项在两张表里,怎么查?
我们说,关系表关系表,两张表中肯定有关联的项,一比较,发现都有一个order_num列。下面是检索思路
- 通过orderitems表由prod_id=TNT2检索出匹配的order_num
- 通过orders表由order_num匹配出对应的cust_id
思路有了,下面就是敲代码
SELECT order_num
FROM orderitems
WHERE prod_id = "TNT2";
得到符合条件的两单为20005和20007,现在就是找下这两单的顾客
SELECT cust_id
FROM orders
WHERE order_num IN (20005, 20007);
以上便是直接的实现过程,下面就用子查询的方式来写,其实就是嵌套
SELECT cust_id
FROM orders
WHERE order_num IN (SELECT order_numFROM orderitemsWHERE prod_id = "TNT2");
再做一个练习。如果我想得到每个客户的订单总数,该怎么写
客户表(里面有cust_id)
订单表(里面也有cust_id)
要想得出所有顾客的订单数,我们先想想一个顾客的订单数怎么写
SELECT cust_id, COUNT(*) AS cust_order
FROM orders
WHERE cust_id = 10001;
现在推广到所有客户的订单数呢?
SELECT cust_name,(SELECT COUNT(*)FROM ordersWHERE orders.cust_id = customers.cust_id) AS orders
FROM customers;
好好想一下上面的思路,首先我们最终需要的是一张cust_name和orders的表,cust_name由customers表提供,写在最外面,另外一个列orders表需要用计算字段COUNT()来汇总,而且是对每一个顾客进行订单汇总。这里用WHERE来选择条件。由于orders表和customers表都有cust_id,因此我们用完全限定列名
MySQL-子查询(嵌套)相关推荐
- MySQL 子查询 嵌套查询
MySQL 子查询 嵌套查询 一.带IN关键字的子查询 二.带EXISTS关键字的查询 三.带ANY.SOME 关键字的子查询 四.带ALL 关键字的查询 自言自语 一.带IN关键字的子查询 使用IN ...
- MySQL子查询嵌套查询
子查询:嵌套在其他查询中的查询. 有三张表分别如下: customers: 存储顾客信息 orderitems:只存储订单信息,无客户信息 orders:存储订单号和顾客id 注意:一般在子查询中,程 ...
- MySQL子查询 嵌套查询
子查询:嵌套在其他查询中的查询. 有三张表分别如下: customers: 存储顾客信息 orderitems:只存储订单信息,无客户信息 orders:存储订单号和顾客id 注意:一般在子查询中,程 ...
- mysql表子查询(嵌套查询)
mysql表子查询(嵌套查询): 1.什么是子查询: 子查询是指嵌入在其它 sql 语句中的 select 语句,也叫嵌套查询 -- 如何显示与 SMITH 同一部门的所有员工? -- 1.先查出sm ...
- 三、MySQL子查询学习笔记(标量子查询、列子查询、行子查询、表子查询 详解)
三.MySQL子查询学习笔记 7:子查询 含义: 一条查询语句中又嵌套了另一条完整的select语句,其中被嵌套的select语句,称为子查询或内查询:在外面的查询语句,称为主查询或外查询 分类: 一 ...
- sql 子查询 嵌套查询_SQL子查询– SQL中的嵌套查询
sql 子查询 嵌套查询 In the real world, there are times when we need a particular set of data but we don't h ...
- MySQL——子查询用法
文章目录 MySQL--子查询用法 1.子查询概述 2.子查询的使用 2.1.单行子查询 2.2.多行子查询 2.3.相关子查询 子查询练习题 MySQL--子查询用法 1.子查询概述 子查询简介 子 ...
- mysql子查询外部查什么 内部查什么,MySQL子查询
MySQL子查询 MySQL中的子查询是一个查询,它嵌套在另一个SQL查询中,并与各种运算符一起嵌入SELECT,INSERT,UPDATE或DELETE语句.我们还可以将子查询与另一个子查询嵌套在一 ...
- PHP MySQL 子查询(subquery)语法与用法实例
MySQL 子查询 子查询是将一个 SELECT 语句的查询结果作为中间结果,供另一个 SQL 语句调用.MySQL 支持 SQL 标准要求的所有子查询格式和操作,也扩展了特有的几种特性. 子查询没有 ...
- [MySQL | Python] MySQL子查询及其对于的Python操作
目录 1 标量子查询 2 关联子查询 3 普通子查询 导入数据 分别在MySQL和Python中导入数据. import pandas as pd milk_tea = pd.read_excel(' ...
最新文章
- MySQL主从复制原理图
- 论强化学习的根本缺陷
- Max-Flow Min-Cut
- 【机器学习】机器学习实践中的 7 种常见错误
- arcgis10.2 sde配置
- 毕业设计后续工作目标
- Oracle递归查询示例分析
- java parseint(12.0)_java的parseint
- Visual Studio2019使用nmake编译调用libcurl库
- 计算机电子智能化贰级,电子与智能化工程专业承包资质分为一级、二级。
- Excel学习2:折线图的渐变
- 正定与半正定矩阵,判别的方法不能混用,否则出错
- PTA 1075 链表元素分类
- 外部磁盘_U盘识别与格式化问题_u盘格式化失败,导致无法识别/android格式化U盘失败
- JavaEE(10)Spring中的注解开发、静态/动态代理
- 【MacOS】java环境配置
- 热点追踪 | 数据,想说爱你不容易
- 初步接触核心网之5G核心网系统安装
- 一起赚美金:Niche站变现案例分享(2)
- 闲鱼基于 Flutter 的移动端跨平台应用实践