【问题标题】:explaining an SQL query解释 SQL 查询
【发布时间】:2020-06-28 21:55:34
【问题描述】:

如果我在考试中被问到一个问题,我会解释一段来自 Microsoft Access SQL Query 的代码,而不需要任何外部数据或信息。

我将如何用简单/通俗的英语解释以下代码,我只是想了解一下,因为这是我第一次解释代码:

SELECT last_name, department_id, job_id
FROM employees
WHERE department_id IN
(
 SELECT department_id
 FROM departments 
 WHERE location_id = 1700
);

这对外行来说是不是一个很好的解释:

以下代码:要求我们列出员工的姓氏、他们在每个部门的工作以及他们的工作身份。对于位置 ID 等于/等于“1700”的每个部门。这是一个很好的解释吗?

【问题讨论】:

  • 你应该试试。
  • 以下代码:要求我们列出员工的姓氏、他们在每个部门的工作以及他们的工作身份。对于位于“1700”或任何特定条件的每个部门。这是一个很好的解释吗?
  • 谢谢伊戈尔,我已经编辑了我的帖子并包含了我的答案,但不确定它是否符合代码
  • 查询返回与部门关联的员工的姓氏、部门 ID 和工作 ID,该部门的 location_id 为 1700。
  • 您要求的是简单的英文:它显示了 ID = 1700 所在位置的所有部门的员工的姓氏、部门和工作 ID

标签: sql ms-access


【解决方案1】:

按照我的观点,你需要解释以下事情

  1. 此查询类型是子查询
  2. 此查询提供员工列表。
  3. 此员工列表基于部门,只有那些部门需要考虑哪个位置 id 是 1700

因此,简而言之,您可以像这个查询一样给出在特定位置工作的员工列表。

我希望你得到这个答案是正确的答案。

【讨论】:

    【解决方案2】:

    我认为更简洁的解释是这样的:

    获取部门位于位置 1700 的员工的某些信息。

    【讨论】:

    • 是的,这是一个非常简短的解释,但是向外行解释它或用技术术语解释它有什么区别?还是他们有相同的解释?
    【解决方案3】:

    SQL 表示S结构化Query L语言。 “查询”的另一个词就是“问题”。几乎每个查询都是为了提供一组回答问题的数据而编写的。

    当您在解释代码示例或试图找出您为此继承的一些代码时,一个好的起点是首先尝试找出查询结果要回答的问题。如果你坐在电脑前,有人走过来问你一个问题,那是什么问题会导致你编写这段代码?通常,对于外行来说,仅仅这个问题就足以解释。

    在这里,我想说一个公平的开始应该是这样的。

    此代码回答了以下问题:“部门位于位置 1700 的每个人的姓氏、部门 ID 和工作 ID 是什么?”

    在给出技术解释时,您会将其带到下一步。此代码如何回答所提出的问题?这是查询如何工作的具体细节,而不是它应该做的事情。

    所以,从技术上讲:

    此代码对departments 表使用子查询,其中包括location_id 列,以识别location_id = 1700 处的所有部门。然后它使用子查询中的部门列表从employees 表中获取last_namejob_id 数据,使用department_id 列表作为过滤器。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-12-09
      • 2014-01-12
      • 1970-01-01
      • 2021-05-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多