sql - "join table"是 SQL JOIN 的结果,还是多对多之间的表

标签 sql join semantics

这是一个关于正确“命名事物”的问题。具体怎么区分:

  • 多对多关系中的“介于”表(例如 usersusers_questionsquestions )
  • 在 SQL 期间创建的(临时)表 JOIN (例如'SELECT * FROM users INNER JOIN users_questions.user_id ON users.id WHERE users_question.question_id=37016694;`)
  • 最佳答案

    许多数据库设计人员在您的第一感觉中使用术语连接表:实现实体之间的多对多关系。它也称为联结表、关联表和其他东西。更多信息:https://en.wikipedia.org/wiki/Associative_entity

    我从来没有听说过使用第二种意义。 (但是,嘿,我不太会出去。:-) 如果您正在编写文档或教学,我建议您保留 table 一词来表示实际的物理表格。避免将单词 table 用于结果集,除非您通过使用虚拟表或类似短语来限定它。这样你的读者和学生就不会浪费时间试图在你的模式中找到这些非真正表格的定义。

    关于sql - "join table"是 SQL JOIN 的结果,还是多对多之间的表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37016694/

    相关文章:

    mysql - SQL MIN 函数选择行

    jquery - 正确从 MySql 表中获取数据

    html - 创建 Accordion 小部件的语义正确方法是什么?

    html - 如何在 HTML5 中正确使用 h1

    go - 删除转换更改语义

    sql - 如何一次性删除许多(但不是全部)表?

    java - SpringJPA native 查询异常

    mysql - 只返回连接表中行的有序子集

    sql-server - 对多列进行 JOIN 时使用索引

    SQL 日期数字