如果这看起来很简单,我提前道歉,因为我的作业需要在 2 小时内通过,而且我没有足够的时间做进一步的研究,因为我今晚有另一个待提交的作业。我只知道基本的 MYSQL 命令,不知道这些类型。这是最后没有回答的问题之一,即使我已经阅读了 JOIN 文档,也让我发疯了。请帮忙。
假设我有 4 张桌子
_______________ _______________ _______________ _______________
| customers | | orders | | ordered_items | | products |
|_______________| |_______________| |_______________| |_______________|
|(pk)customer_id| | (pk)order_id | | (pk)id | |(pk)product_id |
| first_name | |(fk)customer_id| | (fk)order_id | | name |
| last_name | | date | |(fk)product_id | | description |
| contact_no | | | | quantity | | price |
|_______________| |_______________| |_______________| |_______________|
我如何能够查询所有订购的产品(例如:customer_id = '5')
我只知道基本的 SQL,比如对 1 个表的直接查询和来自 2 个不同的连接,但是由于它的 4 个不同的表彼此之间有不同的关系,我如何才能获得按特定客户 ID 订购的所有产品?
因为它就像从 order_id = (* orders by customer_id = 5) 的订购产品中获取所有产品。
但是,在进行此类查询时,什么是优化和最佳实践方式?