大学 SQL 课程,使用 John J. Patrick 所著的“SQL Fundamentals”一书。在第三章中,他谈到使用“常量表”向 select 语句添加列,其中所有行都具有相同的值。
例如,如果您有表“字符”,如下所示:
first_name last_name dept_code
----------- ---------- -------------------
Fred Flintstone ROCKS
Barney Rubble ROCKS
Wilma Flintstone FACEPALMING_AT_FRED
Run Code Online (Sandbox Code Playgroud)
并且您想要一个 SELECT 向所有行添加值为“BEDROCK”的列“hometown”,他建议在数据库中创建第二个表“temp”,
hometown
--------
BEDROCK
Run Code Online (Sandbox Code Playgroud)
然后做
SELECT first_name, last_name, dept_code, hometown FROM characters, temp
Run Code Online (Sandbox Code Playgroud)
这个想法是避免将字符串常量放在 SELECT 语句中,并且如果您有很多需要相同常量的 SELECT,更新一个表比更新 50 个查询更容易。
问题是,过去 15 年来我一直在使用 SQL 数据库,但我从未见过这种结构。它是我刚刚错过的完全常见的东西,还是在这个任务结束后我可以从我的记忆中抹去的东西?