每个卖家的邮政编码过滤器 - mysql
Zip code filter per seller - mysql
我正在 PHP 中实施一项 Web 服务,该服务将检索按特定邮政编码发货的卖家列表。我想知道比我目前正在做的更好的方法。
邮政编码示例 table (ziptable):
----------------------
| seller_id |邮政编码 |
----------------------
| 101 | 110012 |
----------------------
| 101 | 110023 |
----------------------
| 102 | 110023 |
----------------------
现在我使用以下查询来获取在邮政编码 110023 交货的卖家列表:
SELECT * FROM 卖家 s, ziptable z
其中 z.zipcode = 110023 和 s.id = z.seller_id ;
有没有更好的方法可以通过更改数据库模式或 SQL 查询来获得相同的结果?
您实际上不需要 return 邮政编码 table 中的任何列,但除此之外,使用适当的索引,这就很好了。请注意,我们通常会这样写:
SELECT s.*
FROM ziptable z
JOIN sellers s
ON z.seller_id = s.id
WHERE z.zipcode = 110023;
我正在 PHP 中实施一项 Web 服务,该服务将检索按特定邮政编码发货的卖家列表。我想知道比我目前正在做的更好的方法。
邮政编码示例 table (ziptable):
---------------------- | seller_id |邮政编码 | ---------------------- | 101 | 110012 | ---------------------- | 101 | 110023 | ---------------------- | 102 | 110023 | ----------------------
现在我使用以下查询来获取在邮政编码 110023 交货的卖家列表:
SELECT * FROM 卖家 s, ziptable z 其中 z.zipcode = 110023 和 s.id = z.seller_id ;
有没有更好的方法可以通过更改数据库模式或 SQL 查询来获得相同的结果?
您实际上不需要 return 邮政编码 table 中的任何列,但除此之外,使用适当的索引,这就很好了。请注意,我们通常会这样写:
SELECT s.*
FROM ziptable z
JOIN sellers s
ON z.seller_id = s.id
WHERE z.zipcode = 110023;