【SQL】产品销售分析 I

目录

题目

分析

代码


题目

销售表 Sales

复制代码
+-------------+-------+
| Column Name | Type  |
+-------------+-------+
| sale_id     | int   |
| product_id  | int   |
| year        | int   |
| quantity    | int   |
| price       | int   |
+-------------+-------+
(sale_id, year) 是销售表 Sales 的主键(具有唯一值的列的组合)。
product_id 是关联到产品表 Product 的外键(reference 列)。
该表的每一行显示 product_id 在某一年的销售情况。
注意: price 表示每单位价格。

产品表 Product

复制代码
+--------------+---------+
| Column Name  | Type    |
+--------------+---------+
| product_id   | int     |
| product_name | varchar |
+--------------+---------+
product_id 是表的主键(具有唯一值的列)。
该表的每一行表示每种产品的产品名称。

编写解决方案,以获取 Sales 表中所有 sale_id 对应的 product_name 以及该产品的所有yearprice

返回结果表 无顺序要求

结果格式示例如下。

示例 :

复制代码
输入:
Sales 表:
+---------+------------+------+----------+-------+
| sale_id | product_id | year | quantity | price |
+---------+------------+------+----------+-------+ 
| 1       | 100        | 2008 | 10       | 5000  |
| 2       | 100        | 2009 | 12       | 5000  |
| 7       | 200        | 2011 | 15       | 9000  |
+---------+------------+------+----------+-------+
Product 表:
+------------+--------------+
| product_id | product_name |
+------------+--------------+
| 100        | Nokia        |
| 200        | Apple        |
| 300        | Samsung      |
+------------+--------------+
输出:
+--------------+-------+-------+
| product_name | year  | price |
+--------------+-------+-------+
| Nokia        | 2008  | 5000  |
| Nokia        | 2009  | 5000  |
| Apple        | 2011  | 9000  |
+--------------+-------+-------+

分析

获取 Sales 表中所有 sale_id 对应的 product_name 以及该产品的所有 year 和 price

Sales s,Product p

需要p.product_name , s.year , s.price

连接id和name :ON s.product_id = p.product_id

INNER JOIN 和 LEFT JOIN 均可

  • 内连接(INNER JOIN)只返回两个表中都有匹配的行。
  • 左连接(LEFT JOIN)返回左表的所有行,如果右表中没有匹配的行,则结果集中的对应列将为 NULL。

代码

复制代码
SELECT p.product_name , s.year , s.price
FROM Sales s 
LEFT JOIN Product p
ON s.product_id = p.product_id
相关推荐
深瞳智检12 分钟前
学习应用 第001期-Windows 10 用 CMD 安装 MySQL 全流程解析(免安装版)
数据库·windows·mysql·压缩包·环境安装
正在走向自律31 分钟前
金仓数据库在发电行业的创新应用与实战案例
数据库·国产数据库·电力·kingbasees·电科金仓
华纳云IDC服务商35 分钟前
MySQL数据库如何防止SQL注入攻击
数据库·sql·mysql
合作小小程序员小小店43 分钟前
桌面开发,在线%物品代送,代接管理%系统,基于vs2022,c#,winform,sql server数据。
开发语言·数据库·sql·microsoft·c#
疏狂难除1 小时前
尝试rust与python的混合编程(二)
数据库·python·rust
h***59331 小时前
使用Canal将MySQL数据同步到ES(Linux)
linux·mysql·elasticsearch
小光学长1 小时前
基于微信小程序的家具商城系统g80l9675(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
数据库·微信小程序·小程序
j***82702 小时前
Mybatis控制台打印SQL执行信息(执行方法、执行SQL、执行时间)
数据库·sql·mybatis
g***26792 小时前
5、使用 pgAdmin4 图形化创建和管理 PostgreSQL 数据库
数据库·postgresql