gpt4 book ai didi

mysql - 在 SQL 中缩写与不缩写

转载 作者:行者123 更新时间:2023-11-29 01:54:32 25 4
gpt4 key购买 nike

我是第一次参加 SQL 类(class),在使用 leebooks.sql 文件编写查询时遇到了问题。我遇到了一个解决方案,但我很好奇,因为我找到的解决方案的所有表和列都被缩写了。当我尝试按照教授的喜好重写不带缩写的查询时,我收到一条错误消息,指出表不存在。我以为我正确地重写了它,带有缩写的查询工作正常。如果需要,我不知道在哪里上传 SQL 文件?以下是查询:

缩写:

SELECT b.Title, bo.OrderDate,bo.OrderID
FROM BOOKS b
LEFT OUTER JOIN ORDER_ITEMS oi
ON b.BookID = oi.BookID
LEFT OUTER JOIN BOOK_ORDER bo
ON oi.OrderID = bo.OrderID
ORDER BY oi.BOOKID DESC;

没有缩写:

SELECT BOOKS.Title, BOOK_ORDER.OrderDate, BOOK_ORDER.OrderID 
FROM BOOKS
LEFT OUTER JOIN ORDER_ITEMS.OrderID
ON BOOKS.BookID = ORDER_ITEMS.BookID
LEFT OUTER JOIN BOOK_ORDER
ON ORDER_ITEMS.OrderID = BOOK_ORDER.OrderID
ORDER BY ORDER_ITEMS.BookID DESC;

我不明白为什么第二个不起作用而第一个起作用,如果它们基本上是同一件事。我错过了什么?

最佳答案

联接应该在表上执行,而不是在列上执行。您的子句 LEFT OUTER JOIN ORDER_ITEMS.OrderID 应为 LEFT OUTER JOIN ORDER_ITEMS。没有表别名的完整查询:

SELECT BOOKS.Title, BOOK_ORDER.OrderDate, BOOK_ORDER.OrderID
FROM BOOKS
LEFT OUTER JOIN ORDER_ITEMS ON BOOKS.BookID = ORDER_ITEMS.BookID
LEFT OUTER JOIN BOOK_ORDER ON ORDER_ITEMS.OrderID = BOOK_ORDER.OrderID
ORDER BY ORDER_ITEMS.BookID DESC;

关于mysql - 在 SQL 中缩写与不缩写,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32925652/

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