力扣1045(MySQL)-买下所有产品的客户(中等)
题目:
Customer 表:

Product 表:

写一条 SQL 查询语句,从 Customer 表中查询购买了 Product 表中所有产品的客户的 id。
示例:


解题思路:
建表语句:
1 create table if not exists customer_1045(customer_id int(3) not null, product_key int(3));
2 create table if not exists product_1045(product_key int(3));
3 truncate table customer_1045;
4 insert into customer_1045 values(1,5),(2,6),(3,5),(3,6),(1,6);
5 truncate table product_1045;
6 insert into product_1045 values(5),(6);
注意一下外键:
外键为某个表中的一列,它包含另一个表 的主键值,定义了两个表之间的关系。
1. Customer表中的一列是 product_key, product_key是Product表的主键;
2. 证明Customer表中的product_key 必定来自Product表;
3. 不存在:Customer中的product_key 不是 Product 表中的值。
1 select customer_id
2 from customer c
3 group by customer_id
4 having count(distinct c.product_key) = (select count(product_key) from product);

注意:
第一个distinct:如果一个用户能够重复购买同一个商品多次的话,比如(1,5)出现多次的话,就需要使用distinct去掉重复值;
第二个product_key前面不需要加distinct :product_key 是product的主键,故不会重复。
力扣1045(MySQL)-买下所有产品的客户(中等)的更多相关文章
- 力扣——Next Permutation(下一个排列) python实现
题目描述: 中文: 实现获取下一个排列的函数,算法需要将给定数字序列重新排列成字典序中下一个更大的排列. 如果不存在下一个更大的排列,则将数字重新排列成最小的排列(即升序排列). 必须原地修改,只允许 ...
- 力扣1052. 爱生气的书店老板-C语言实现-中等难度
题目 传送门 文本 今天,书店老板有一家店打算试营业 customers.length 分钟.每分钟都有一些顾客(customers[i])会进入书店,所有这些顾客都会在那一分钟结束后离开. 在某些时 ...
- 【力扣】123. 买卖股票的最佳时机 III
给定一个数组,它的第 i 个元素是一支给定的股票在第 i 天的价格. 设计一个算法来计算你所能获取的最大利润.你最多可以完成 两笔 交易. 注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的 ...
- mysql5.7 mysql库下面的user表没有password字段无法修改密码
如题所述,mysql5.7 mysql库下面的user表没有password字段无法修改密码, 5.7版本已经不再使用password来作为密码的字段了 而改成了authentication_st ...
- JS数据结构第六篇 --- 二叉树力扣练习题
1.第226题:翻转二叉树 递归+迭代两种实现方式: /** 反转二叉树 * Definition for a binary tree node. * function TreeNode(val) { ...
- LeetCode 1244. 力扣排行榜
地址 https://www.acwing.com/solution/LeetCode/content/5765/ 题目描述新一轮的「力扣杯」编程大赛即将启动,为了动态显示参赛者的得分数据,需要设计一 ...
- 力扣——Copy List with Random Pointer(复制带随机指针的链表) python实现
题目描述: 中文: 给定一个链表,每个节点包含一个额外增加的随机指针,该指针可以指向链表中的任何节点或空节点. 要求返回这个链表的深拷贝. 示例: 输入:{"$id":" ...
- 力扣——remove element(删除元素) python实现
题目描述: 中文: 给定一个数组 nums 和一个值 val,你需要原地移除所有数值等于 val 的元素,返回移除后数组的新长度. 不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) ...
- 力扣 122 买卖股票的最佳时机II
力扣 122 买卖股票的最佳时机II 思路: 动态规划,表面上是\(O(2^n)\)的搜索空间,实际上该天的选择只与前一天的状态(是否持有股票)有关.从收益的角度来看,确实每一天的不同选择都会产生不同 ...
- 力扣119.杨辉三角II-C语言实现
题目 给定一个非负索引 k,其中 k ≤ 33,返回杨辉三角的第 k 行. 在杨辉三角中,每个数是它左上方和右上方的数的和. 示例: 输入: 3 输出: [1,3,3,1] 来源:力扣(LeetCod ...
随机推荐
- Windows逆向之配置虚拟机环境
安装虚拟机环境 首先下载吾爱破解论坛专用版虚拟机软件VMWare Workstation 12,注册成功:再通过虚拟机启动论坛提供的WinXP系统镜像,在我的win11上完美运行. 实现文件互传 为了 ...
- 基于ads1299生物电信号采集研发总结之参考信号的接法
一 概念 ads1299的电极端有两种采集方式,单端和差分.两种的使用方式又有很大的区别,怎么高质量的采集信号,这个是一个比较难的问题. 二 解析 参考信号SRB1的接法,决定了采集到数据的精确度和信 ...
- VUE3.0---Pinia学习记录
这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 Pinia优势 Pinia是一个全新的Vue状态管理库,是Vuex的代替者,尤雨溪强势推荐 Vue2 和 Vue3 都能支持 抛弃传统的 ...
- R语言数据质量分析
数据质量分析是数据预处理的前提,也是数据分析结论有效性和准确性的基础. 数据质量分析的主要任务是检查原始数据中是否存在脏数据. 脏数据一般包括: 缺失值分析 缺失值产生的原因.影响 原因: 部分信息难 ...
- SpringBoot3集成PostgreSQL
标签:PostgreSQL.Druid.Mybatis.Plus: 一.简介 PostgreSQL是一个功能强大的开源数据库系统,具有可靠性.稳定性.数据一致性等特点,且可以运行在所有主流操作系统上, ...
- C# AES CBC模式 加密和解密
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.S ...
- ATSS : 目标检测的自适应正负anchor选择,很扎实的trick | CVPR 2020
论文指出one-stage anchor-based和center-based anchor-free检测算法间的差异主要来自于正负样本的选择,基于此提出ATSS(Adaptive Training ...
- KingbaseES V8R3 集群运维案例--kingbase_monitor.sh启动”two master“案例
案例说明: KingbaseES V8R3集群,执行kingbase_monitor.sh启动集群,出现"two master"节点的故障,启动集群失败:通过手工sys_ctl启动 ...
- java实战字符串+栈5:解码字符
题目: 有形如 (重复字符串)<重复次数n> 的片段,解码后相当于n个重复字符串连续拼接在一起,求展开后的字符串. 求解: public static String zipString( ...
- 鸿蒙HarmonyOS实战-ArkUI组件(Radio)
一.Radio Radio单选框是一种表单元素,允许用户从一组选项中选择一个选项.它由一个圆圈和一个标签组成,用户只能选择其中一个选项.Radio单选框通常用于表单中,用于收集用户选择的信息,例如用户 ...