首页 > 数据库 >mysql使用子查询

mysql使用子查询

时间:2023-01-24 13:22:29浏览次数:41  
标签:customers cust mysql id num 使用 查询 order SELECT

定义三个表:

①order表,包含订单号order_num和客户id(cust_id),此表表示客户的购物记录。

CREATE TABLE `order` (
    order_num INT,
    cust_id INT
    );
SELECT * FROM `order`;

②orderitems表,包含订单号order_num和订单内容content。

CREATE TABLE orderitems (
    order_num INT,
    content VARCHAR(255)
    )

③customers表,包含客户id(cust_id),客户名字(cust_name)和客户联系方式cust_contact。

CREATE TABLE customers (
    cust_id INT,
    cust_name VARCHAR(10),
    cust_contact VARCHAR(10)
    );

插入数据:

INSERT INTO customers VALUES(2232249, '大力士', ''), (2232248, '大帝石', '');
INSERT INTO `order` VALUES(1001, 2232249), (1002, 2232248);
INSERT INTO orderitems VALUES(1001, '水果 纸巾'), (1002, '水果 衣服');

检索所有购买水果的客户信息:可以先检索orderitems得出对应的订单号order_num,然后在使用检索出的order_num来检索出对应的cust_id,之后利用检索出的cust_id从customers得到客户信息。

SELECT cust_id, cust_name FROM customers WHERE
                    cust_id IN (SELECT cust_id FROM `order` WHERE
                                        order_num IN (SELECT order_num FROM orderitems
                                                            WHERE INSTR(content, '衣服') != 0)
                                                            )

显示每个客户的订单总数:从customers表中检索每个客户,对于每个客户再使用count(*)统计order表中的数量。

SELECT cust_id, cust_name, (SELECT COUNT(*) FROM `order` WHERE `order`.`cust_id` = customers.`cust_id`) AS `count` FROM customers; 

 

标签:customers,cust,mysql,id,num,使用,查询,order,SELECT
From: https://www.cnblogs.com/dadishi/p/17066018.html

相关文章

  • SpringBoot开发Restful API及使用jmeter测试
     Restful API简介Representational State Transfer,简称为REST, 即表现层状态转化,简单来说,客户端通过HTTP方法对服务器的资源进行操作, 实现表现层状态转化GET:获取......
  • alter session enable parallel dml语句解析—dml与select同时使用并行功能
    文档课题:altersessionenableparalleldml语句解析—dml与select同时使用并行功能.1、相关知识若要select和dml语句都使用并行,那须先运行以下命令.否则只有查询语句使用到......
  • 使用Stable-Diffusion生成视频的完整教程
    本文是关于如何使用cuda和Stable-Diffusion生成视频的完整指南,将使用cuda来加速视频生成,并且可以使用Kaggle的TESLAGPU来免费执行我们的模型。完整文章:https://avoid.o......
  • BurpSuite使用指南-综合应用
    综合应用在很多实际的情况下,我们需要使用BP工具进行信息的拦截,使用其他工具进行生产测试用例,分析数据。其中常见的工具为CO2打开BP找到“extender”选择bapp stroe在旁边的......
  • 第五十四章 使用 ^mgstat 监控性能
    第五十四章使用^mgstat监控性能本章介绍^mgstat实用程序,它是一种用于收集基本性能数据的工具。注意:此实用程序可能会在不同版本之间更新。ftp://ftp.intersys.com/......
  • bitset简易使用方法
    何为bitset一个stl,可以大大减少储存布尔数所需的空间,本质上就是个存二进制数的容器具体而言,省的空间是用int存的\(\frac{1}{32}\)示例bitset<N>bi(10111);//括号里的是......
  • 算法竞赛向 C++ Standard Library 使用速查
    因网络上STL教程大多零散且缺乏严谨性,本文对算法竞赛所需C++StandardLibrary做了一个较为全面的总结。全文主要参考以下文档:Containerslibrary-cppreference.c......
  • 使用Python——查看自己电脑的ip和MAC地址
    使用Python——查看自己电脑的ip和MAC地址importsocketimportuuidip=socket.gethostbyname(socket.gethostname())node=uuid.getnode()macHex=uuid.UUID(in......
  • MySQL 日期函数、时间函数在实际场景中的应用
    整理日常业务中用到日期函数的一些场景,并对日期函数按照使用类型做了分类,实例也尽可能符合日常需求。为了方便查阅,可以先看目录,再根据需要看具体方法和实例。首先明确日期......
  • 使用Matlab构建二维栅格地图
    常使用的地图一般有以下几种:尺度地图:具有真实的物理尺寸,如栅格地图、特征地图、点云地图、常用于地图构建、定位、SLAM、小规模路径规划拓扑地图:不具备真实的物理尺寸,......