计算机程序设计

操作SQL INNER JOIN:语法和功能的例子

开发任何数据库不仅包括创建和使用各种信息表的填充,同时也进一步的工作与数据。 若要从表和报告数据的选择正确地执行各种任务,使用标准的选择设计。

取从表中的数据

如果我们考虑所选择的数据或报告的建设问题,您可以确定操作的复杂程度。 作为一项规则,与严重的问题时(根据体积)的数据库,其中形成,例如,在在线商店或大公司,数据选择不限于一个单一的表。 作为一项规则,样本可能是从一个相当大的数量不仅与表外,还嵌套查询/子查询,这使得程序员,这取决于它的任务。 为一个表的样品可以用最简单的结构:

选择从人*

这里的人 - 从中你想使数据检索表的名称。

但是,如果你需要选择从多个表中的数据,标准设计的一个可用于连接多个表。

连接附加表的方法

如果我们考虑在初级的水平使用这样的结构,我们可以区分以下机制到所需数量的连接的示例表,即:

  1. 运营商内部联接。
  2. 左连接或,它是第二记录方法中,左外连接。
  3. CROSS JOIN。
  4. 全部加入。

使用运营商的加盟在实践中的表,你可以考虑使用SQL语句的学习 - 内连接。 其使用的一个例子是如下:

选择从人*

内部联接分区上Su_Person = Pe_ID

语言SQL,并加入内部加入运营商不仅可以用于组合两个或多个表中使用,而且连接其他的子查询,大大方便了数据库管理员的工作,并作为一项规则,可以显著加快具体,复杂的查询结构的实现。

由线在表中线路的数据组合

如果我们考虑到大量的子查询组装成线单一的表线的连接,数据,你也可以使用运营商联盟和联盟所有。

使用这些结构将取决于开发人员设定的目标,他希望最终达到的结果。

说明内部联接操作

在大多数情况下,在使用内部连接运营商的SQL语言的多个表结合起来。 说明内部联接在SQL是很容易理解的一般的程序员谁是刚刚开始了解的数据库。 如果我们考虑到这种结构的工作机制的描述中,我们得到了以下图片。 逻辑运算器作为一个整体是建立在交叉点上和采样仅是在每个表中包含在查询中的数据的可能性。

如果我们以图形的解释方面看这方面的工作,我们得到SQL内部联接操作的构造,其可通过以下路线图中显示的例子:

例如,我们有两个表,在图中示意性示出。 他们,反过来,有不同数量的条目。 在每个表都有所相关领域。 如果我们试图解释图纸的基础上,操作者的工作,返回的结果将是一组记录从两个表,其中房间是相互关联的领域一致。 简单地说,该查询返回的记录(见表二号),其数据是在头号表。

内在的语法加入

正如前面提到的,运营商内部联接,即其语法,异常简单。 对单个样品中的表之间的关系的组织将足以记忆和使用运营商,其在软件的SQL代码,即一个单一的线规定的结构的以下示意图:

  • 内加入[表名称]上= [表中的可插入的键字段] [到连接表中的关键字段。

对于这一说法通信主要使用的表项。 作为一项规则,该组存储有关员工信息表中,先前所描述的人舱与至少有一个类似的记载。 所以,细看操作SQL内部连接,其中一个例子已经证明早一点。

实施例的描述和连接到所述音频样本表

我们有一个Person表,它存储所有在该公司工作的员工的信息。 只要注意,该表的主键字段 - Pe_ID。 只要它,会去一个包。

第二个表分区将存储有关哪些员工工作办公室信息。 她又通过Su_Person场Person表连接。 这是什么意思? 根据该数据模式,可以说是在表单位对表中的“员工”的每个记录将是关于他们工作的部门信息。 正是出于这种沟通,并将努力运营商内部连接。

为了更直观地使用的考虑操作SQL内部连接(一个或两个表及其使用的例子)。 如果我们考虑在同一个表的例子,那么一切都非常简单:

选择从人*

内部联接分区上Su_Person = Pe_ID

示例连接两个表和子查询

操作者SQL内部联接,其实例是使用以检索从多个表中的数据可被布置在上述方式中,它是工作在原则有点复杂。 这两个表的任务变得更为复杂。 例如,我们有一个存储有关的所有部门中每个部门的信息出发表。 在该表中记录的分割数和雇员号,并且必须由每个部门的样本数据的名称来补充。 展望未来,值得一说的是,你可以用两种方法来解决这个问题。

第一种方式是连接部门表采样。 在这种情况下,组织请求可以如下:

从人选择Pe_ID,Pe_Name,Su_Id,Su_Name,Dep_ID,Dep_Name

内部联接分区上Su_Person = Pe_ID

内部联接出发上Su_Depart = Dep_ID和Pe_Depart = Dep_ID

解决问题的第二种方法 - 是使用子查询中,并非所有的数据都会从部门表中选择,但只是必要的。 这是相对于第一种方法,它会降低请求的时间。

从人选择Pe_ID,Pe_Name,Su_Id,Su_Name,Dep_ID,Dep_Name

内部联接分区上Su_Person = Pe_ID

内部联接(选择Dep_ID,Dep_Name,Pe_Depart从出发日期)为T上Su_Depart = Dep_ID和Pe_Depart = Dep_ID

值得注意的是,这种安排不能总是加快工作要求。 有时存在这样的情况时,有必要使用一个额外的采样数据到临时表(如果体积过大),然后将其与主样品结合。

使用示例内部联接操作者样品从大量的表

建设涉及的样本显著的数据表和子查询的互连使用复杂的查询。 这些要求能够满足SQL内部联接语法。 使用该运营商的,在这种情况下的例子可以在许多存储的地方,不仅样品是复杂的,但也有大量嵌套子查询的。 对于一个具体的例子,你可以从系统表的样本数据(内部连接的SQL语句)。 示例 - 表中的3 - 在这种情况下,将有一个相当复杂的结构。

在这种情况下连接(主表)和三个进一步介绍了几种数据选择条件。

当使用内部连接运营商应该记住,更复杂的查询,时间越长,将被执行,所以你应该想办法更快速地执行并解决问题。

结论

最后,我想说一两件事:与数据库的工作 - 它不是在编程中最困难的事情,所以如果你想每个人将能获得知识,建立一个数据库,并随着时间的推移,积累经验,你会得到一个专业水平与他们一起工作。

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 zhcn.delachieve.com. Theme powered by WordPress.