【发布时间】:2015-12-31 18:07:13
【问题描述】:
我是第一次参加 SQL 课程,在使用 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”
标签: mysql sql sql-server select