SQL创建并与三个表交互
下面是我正在玩的游戏:让我们模拟一个电子商务站点。我们需要用户、产品和订单SQL创建并与三个表交互,sql,Sql,下面是我正在玩的游戏:让我们模拟一个电子商务站点。我们需要用户、产品和订单 用户需要姓名和电子邮件 产品需要名称和价格 订单需要产品的参考号 所有3个都需要主键 指示 按照摘要中的标准创建3个表。添加一些数据以填充每个表-至少3个用户、3个产品、3个订单 对您的数据运行查询:获取第一个订单的所有产品;获得所有订单;获取订单的总成本(订单上所有产品的价格总和) 从orders向用户添加外键引用,并更新orders表以将用户链接到每个订单 对数据运行进一步查询:获取用户的所有订单;获取每个用
- 用户需要姓名和电子邮件
- 产品需要名称和价格
- 订单需要产品的参考号
指示
- 按照摘要中的标准创建3个表。添加一些数据以填充每个表-至少3个用户、3个产品、3个订单
- 对您的数据运行查询:获取第一个订单的所有产品;获得所有订单;获取订单的总成本(订单上所有产品的价格总和)
- 从orders向用户添加外键引用,并更新orders表以将用户链接到每个订单
- 对数据运行进一步查询:获取用户的所有订单;获取每个用户有多少订单
CREATE TABLE orders (
order_id SERIAL PRIMARY KEY,
stuff VARCHAR(150),
product_id INTEGER REFERENCES products(product_id)
);
INSERT INTO users (name, email)
VALUES
('Justin', 'Justinjgh@gmail.com'),
('Bill', 'Bill@gmail.com'),
('Rick', 'Rick@gmail.com');
INSERT INTO products (name, price)
VALUES
('Chair', 22),
('Turkey', 10),
('Lizard', 10000);
INSERT INTO orders (stuff, product_id)
VALUES
('Testthis', 1),
('Testthat', 2),
('Andtestthis', 3);
SELECT * FROM products
WHERE product_id = 1;
SELECT * FROM orders;
我不打算回答你的全部问题(看起来像是家庭作业),但我会给你一些帮助来克服这个困难 首先,您的用户和产品表看起来非常合理。您可以向它们添加密钥(数字、条形码或ID等)以处理不明确的情况。但是这些表格基本上是正确的——每一行都包含关于其中一个事物的信息,例如
- Users表中的每一行都引用1个用户及其属性(电子邮件地址)
- 产品也是如此(每条生产线都是一种产品,有其名称和价格)
- 订单号。。。没关系
- 东西。。。不知道里面有什么
- 产品标识。。。什么?这意味着每个订单可以有1个,而且只能有1个产品。这似乎很奇怪——在现实生活中,一个订单应该可以有多个产品,不是吗
- 想想在网上买东西吧。您的总价是您所有物品的成本之和。但你可以有多个相同的项目(例如,12瓶你最喜欢的饮料)。你可能想知道这些链接是如何连接的