【发布时间】:2021-03-22 09:32:54
【问题描述】:
您好,我遇到了以下表格的问题
CREATE TABLE BOOKS (
Title varchar(255),
Year INT,
Type ENUM("Horror", "Fantasy"),
Pages INT,
PRIMARY KEY (Title, Year)
);
CREATE TABLE AUTHORS(
Title varchar(255),
Year INT,
PlaceOfBirth varchar(255),
AuthorName varchar(255),
PRIMARY KEY (Title, Year, PlaceOfBirth ),
FOREIGN KEY (Title, Year) REFERENCES BOOKS(Title, Year)
);
现在我想查询所有只有 40 页及以上恐怖书的作者。
SELECT a.AuthorName, b.Pages FROM AUTHORS a INNER JOIN BOOKS b ON a.Title=b.Title AND a.Year=b.Year
WHERE b.Type="Horror" AND b.Pages > 40
问题是现在我得到了那些写过 40 页以上的恐怖书的作者,但他们也可能有不到 40 页的恐怖书。我想要那些只写 40 页或更长的恐怖书的作者。
【问题讨论】:
标签: sql select inner-join aggregate-functions having-clause