当前位置: 首页 > news >正文

SQL业务题: 从不订购的客户

1️⃣题目 

Customers 表:

+-------------+---------+
| Column Name | Type    |
+-------------+---------+
| id          | int     |
| name        | varchar |
+-------------+---------+
在 SQL 中,id 是该表的主键。
该表的每一行都表示客户的 ID 和名称。

Orders 表:

+-------------+------+
| Column Name | Type |
+-------------+------+
| id          | int  |
| customerId  | int  |
+-------------+------+
在 SQL 中,id 是该表的主键。
customerId 是 Customers 表中 ID 的外键( Pandas 中的连接键)。
该表的每一行都表示订单的 ID 和订购该订单的客户的 ID。

找出所有从不点任何东西的顾客。以 任意顺序 返回结果表。结果格式如下所示。

示例 1:

输入:
Customers table:
+----+-------+
| id | name  |
+----+-------+
| 1  | Joe   |
| 2  | Henry |
| 3  | Sam   |
| 4  | Max   |
+----+-------+
Orders table:
+----+------------+
| id | customerId |
+----+------------+
| 1  | 3          |
| 2  | 1          |
+----+------------+
输出:
+-----------+
| Customers |
+-----------+
| Henry     |
| Max       |
+-----------+

2️⃣具体实现

1.确定输出结果是用户名字,并输出成一个新的表

2.从customers表中查找customers.id不在orders表中的customerid的 

SQL实现: 

select customers.name as 'Customers'
from customers 
where customers.id not in
(select customerid from orders
);

 Pandas实现:

采用了左连接,左表为customers表,使用orders表中的customerid属性进行连接,而后再选中customerid为空的行作为结果输出 

import pandas as pddef find_customers(customers: pd.DataFrame, orders: pd.DataFrame) -> pd.DataFrame:df = customers.merge(orders, left_on='id', right_on='customerId', how='left')df = df[df['customerId'].isna()]df = df[['name']].rename(columns={'name': 'Customers'})return df

http://www.lryc.cn/news/426275.html

相关文章:

  • 怎么直接在PDF上修改内容?随心编辑PDF内容
  • 聊天室项目测试报告
  • 语音识别(实时语音转录)——funasr的详细部署和使用教程(包括实时语音转录)
  • 【网络编程】TCP机械臂测试
  • 笔记:在WPF中如何注册控件级全局事件和应用程序级全局事件
  • 【Linux系列】telnet使用入门
  • 音视频相关知识
  • 数据结构--第七天
  • 代码随想录Day34:62.不同路径、63.不同路径II、343.整数拆分、96.不同的二叉搜索树
  • 【信息学奥赛一本通】1008:计算(a+b)/c的值
  • 使用 jstat 进行 Java 应用程序性能监控
  • Prompt指令调优大揭秘
  • C语言中的⽂件操作
  • 黑马前端——days14_js
  • 【自动驾驶】ROS中参数服务器通信(c++)
  • 零基础5分钟上手亚马逊云科技核心云开发知识 - 网络基础
  • Unity Recttransform操作
  • MIT线性代数P5
  • patroni+etcd开启SSL认证(三个节点证书一致 使用openssl命令)
  • Eureka入门指南:微服务注册与发现的基础概念
  • Linux:动态库和静态库
  • 8.13网络编程
  • 蚂蚁AL1 15.6T 创新科技的新典范
  • 2024年【汽车驾驶员(技师)】考试报名及汽车驾驶员(技师)试题及解析
  • 2024年【甘肃省安全员C证】报名考试及甘肃省安全员C证考试总结
  • RabbitMQ 双机系统偶尔丢失消息问题排查
  • Python 环境搭建指南 超详细
  • 使用三菱PLC源码进行PLC读取写入操作
  • 使用Nvm切换nodeJs高版本之后,使用npm install一闪而过
  • 【Kubernetes】k8s集群安全机制