SQL 泛化查询

SQL Query in Generalization

关系模式:

Table comics(Generalization):
    comic_name: varchar(Primary Key)
    Created: boolean(Default = false)
    Group_name: varchar(55), (Not Null)
    Type: varchar(55), (Not Null)

Table Unreleased_comics(Specialization):
    comic_Name: Foreign Key(comics, comic_name)

Table Released_comics(Specialization):
    comic_Name: Foreign Key(comics, comic_name)
    Release_Date: date (Not Null)

ER 中的关系:漫画是 Unreleased_Comics 和 Released_Comics

列出 2001 年之前发行的所有漫画的 SQL 查询应该是什么? (MySQL)

很简单INNER JOIN比较协调的部分可以是选择合适的日期, 但因为你只想要年份,仍然很简单

SELECT 
    c.comic_name, c.Created, c.Group_name, c.Type, r.Release_Date
FROM
    comics crossINNER
        JOIN
    Released_comics r ON c.comic_name = r.comic_name
WHERE
    YEAR(r.Release_Date) < 2001