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
关系模式:
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