我有一个电影数据库,我想列出那一年我没有电影的年份。所以我需要的只是一个列表(1900 .. 2012),然后我可以加入和加入,而不是加入我想要的所有内容。
我有:
CREATE PROCEDURE build_years(p1 SMALLINT)
BEGIN
CREATE TEMPORARY TABLE year (year SMALLINT(5) UNSIGNED);
label1: LOOP
INSERT INTO year VALUES (p1);
SET p1 = p1 + 1;
IF p1 > 2012 THEN LEAVE label1; END IF;
END LOOP;
END
但这似乎太不符合 SQL 了,而且只比运行 Python 代码创建同一个表稍微少一些。我真的很喜欢不使用存储过程、不使用循环并且不使用实际表的东西,按照关注的顺序。