sql - SQL Join 选择两个表的特征
问题描述
我想做一个查询,选择 best_offers 的商品,其中卖家的密码为“abc”。以下查询有效,但它也选择了卖家的特征:
SELECT * FROM best_offers INNER JOIN seller ON best_offers.seller_id = seller.username
WHERE seller.pw='abc'
这是查询的结果:
![2]: https://i.stack.imgur.com/rPrOB.jpg
但是,我在其他表上尝试了几乎相同的查询并且它有效:它只选择购物车的特征:
SELECT * FROM buy_it_now INNER JOIN cart ON buy_it_now.id = cart.item_id
WHERE cart.buyer_id = 'kimpaille'
这是有效查询的结果:
解决方案
如果您只想要优惠,您将使用:
SELECT bo.*
FROM best_offers bo INNER JOIN
seller s
ON bo.seller_id = s.username
WHERE s.pw = 'abc';
只选择您需要的列。更远:
- 等同
seller_id
于username
看起来是错误的。通常“id”与“name”不同。 - 密码不应存储为明文。曾经。人们倾向于在不同的系统中重复使用密码,因此看到别人的密码是一个巨大的安全风险。
- 表别名使查询更易于编写和阅读。
推荐阅读
- r - R n 次求和
- jenkins - 无法在设置时从 Jenkins 服务器安装任何插件。错误:读取超时
- javascript - Google 工作表到 Html Json 数据 - 单击时显示新框显示数据
- javascript - 带有 javascript 和 wordpress 错误的 Lottie 动画
- forms - 如何让 Autocrat 插件表单触发器与应用程序脚本表单一起使用
- http - PyCharm终端中HTTP响应数字的含义
- quarkus - Quarkus:构建期间的 IllegalArgumentException
- postgresql - Postgres earth 错误:域 earth 的值违反了检查约束“on_surface”
- java - Spring Boot:以编程方式禁用 PersistentBag 的获取
- wordpress - 从 WordPress 中的 WooCommerce 导航栏中删除“空”类别/子类别