gpt4 book ai didi

mysql - 理解加盟

转载 作者:行者123 更新时间:2023-11-29 06:19:55 24 4
gpt4 key购买 nike

我正在看这段代码:

select customers.name
from customers, orders, order_items, books
where customers.customerid = orders.customerid
and orders.orderid = order_items.orderid
and order_items.isbn = books.isbn
and books.title like '%java%';

并且发现很难理解。

首先我有4个表,代码正在制作一个动态表,
我应该以不同的顺序查看它以便更好地理解它吗?

首先,我选择 customer.name,但只有在运行最后一个代码并且我有了动态表之后,对吧?

我应该尝试使用之前制作的动态表逐行排列每两个表吗?

而且在制作表格时,表格中的所有数据都被写入还是仅写入我在何处询问的数据?

非常感谢您的帮助。

最佳答案

根据理论,当您查询多个表并尝试连接所有表时,会计算所有涉及的表的临时叉积。这意味着总行数是每个表的行数的乘积。

然而,在实践中,SQL(在您的例子中是 MySQL)的实现将注意有效地计算查询。根据各种参数计算查询执行路径,并用于获取所需的输出。

编写上述语句的更好方法是遵循新语法:

SELECT customers.name FROM customers
INNER JOIN orders ON customers.customerid = orders.customerid
INNER JOIN order_items ON orders.orderid = order_items.orderid
INNER JOIN books ON order_items.isbn = books.isbn
WHERE books.title LIKE '%java%'

阅读更多内容 here出于原因。

关于mysql - 理解加盟,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4329043/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com