计算机软件

MySQL的JOIN:说明,使用命令和建议的一个例子

开发 数据库 网络资源不会在系统开发标准数据库不同, MS SQL SERVER。 通常情况下,对于此类型的资源使用MY SQL语言,但它可以被应用到标准软件产品的开发供本地使用。 但文章中的问题不去做。

与数据库中的每个任务的语言往往工作时,使样本数据中的各种报表,图表等派生。 作为一项规则,我们有这样那样的问题的执行使用不是一个而是几个表,将它们合并为一个单一的请求,大大复杂化其结构。 既要考虑到,因为它们应该是输出数据作为将“追赶”表,什么结果将是程序员最能接受的。 为了解决这些问题,可以使用标准的MySQL设计语言之一 - 加入。

这些词的概念加入

语言数据库开发,不管是什么样的语言,以作为基础英语字典的标准的话(这就是为什么你懂英语的条件,你布德更容易使用的表工作)。 为贯彻落实采取了同样的词样品中的连接表 - 申请。 在数据库软件的语言使用 我的SQL。 字服务的翻译是完全一样的语言 - “联盟”。

解读MySQL的结构 - 加入,其中任何一个都将是完全一样的。 如果你破译建设的目的,她的工作就是大纲,我们得到以下值:设计将允许收集来自不同的表,或者嵌套查询所需的字段一个样本。

设计的种类合并

如果程序员需要收集来自多个表的样本,他知道需要对报告什么在他们的重点领域和什么样的数据,你可以使用关联的基本结构之一,为了达到预期的效果。 基本结构(连接表)有四个:

  1. 内连接。
  2. CROSS JOIN。
  3. 左加入。
  4. 右键加入。

根据不同的任务,每一个标准的设计将给出不同的结果,这将接受不同的参数报告在很短的时间周期。

创建并填充以备后用表

在开始之前,例如,考虑机制与数据融合构建工作要准备几个表,有了它我们将继续努力。 这将有助于证明所有运营商的原则,此外,让初学者将学习所有的基本知识更容易编程表。

第一个表将介绍一些与人们不断地在他的生活中遇到的项目。

第二个表将介绍一些从第一个表对象的属性,让他们进一步工作。

一般情况下,这两个表就足以证明他们的工作的例子。 现在,您可以继续我们的设计的实际考虑。

使用内部连接

如果你正在使用MySQL结构 - 加入Ineer值得考虑它的一些特性。 这种设计可以让你从两个表只有那些在第一和第二表中的记录进行选择。 它是如何工作的? 第一个表,我们有万能钥匙 - ID,这表明该表中记录的序列号。

当创建所述第二表中,相同的密钥被用作一个序列号,一个例子可在图中看到。 当选择一个数据Select语句将决定结果只记录的序列号一致 - 因此,他们是在第一和第二个表。

当建设是必要的正是你需要得到的数据是什么知道。 最常见的错误,特别是对开发人员 的数据库,这是 不合理的,不正确的使用设计的内连接。 作为一个例子,MySQL的内部连接,你可以考虑一个脚本,将返回我们前面描述的和充满信息对象及其属性的表格。 但是,可能有几种方式来使用的设计。 在这一点上我的SQL是非常灵活的语言。 所以,你可以看到使用MySQL内部连接的例子。

连接表不指定任何参数。 在这种情况下,我们得到这样一个计划的结果:

如果我们指示由字解决方案:使用服务,就必须要考虑的表中记录的主键,结果集将发生巨大的变化。 在这种情况下,我们得到的样本,这将只返回具有相同的主键的行。

使用中,当由«上»字提示的第三实施例的机会表示必须发生连接表的字段。 在这种情况下,样品将返回以下信息:

功能使用左联接

如果我们考虑结合使用MySQL结构表的另一种方式 - 加入,可以注意到的数据,并将其输出的差异。 这样的机制设计左。

使用LEFT JOIN MySQL的结构具有一定的特点,并为内蒙古,需要将得到的结果有清晰的认识。

在这种情况下,首先从第一表中选择的所有记录,并进一步向其中附着到所述第二表属性。 在这种情况下,如果有一个记录,例如,“大便”的第一台和第二台没有属性呢,左操作者显示在进入空,它告诉是没有听说过关于这个问题的迹象程序员的前。

使用这种设计将有助于确定哪些字段,或者例如,在店里的货物没有设置价格, 保修期 等。

使用示例左

要考虑LEFT JOIN MySQL的使用先前描述的表中的操作实践的设计。 例如,你需要选择的是在店内产品的完整列表,并检查它们中的一些未生育的特征或属性。 在这种情况下,样品将显示所有产品,并为那些谁没有财产,将承担空。

凡在建筑用加入

作为一个参数,该协会可能不仅包括指示您必须建立连接表中的字段,但可能包括算哪里的条件。

例如,考虑应该退还给我们只是还没有放下一个标志这些记录的脚本。 在这种情况下,你需要添加设计加入运营商的条款和表明它应作为一个结果返回。

当在MySQL使用加入 - 何处应当清楚地理解的是,仅显示这些记录包括上述条件下,然后将样品将是如下:

这些请求让您作出与所选择的编程条件特定的抽样数据。 这样的条件可指示若干可能的,同时更新具有表United数据选择参数。

使用连接到改变表中的数据

设计加入,事实上,通用。 它可以让你既做各种样品,但也从一个连接请求到几个表,一个样品中征收额外的条件。 设计也可用于其他数据操作。 因此,加入可用于改变在表中的数据。 或者更确切地说,澄清表的条件,或在情况下,需要在相同条件下更新多个表中的数据。

例如,请考虑以下问题。 鉴于三个表,其中有一些证据。 有必要进行使用单个查询两个表中的数据的变化。 只是为了解决这样的任务可以在命令更新使用加入设计。 加入很有型结构的依赖,以同样的方式作为对谁想要得到一个程序员的结果的样本数据的情况。

考虑一个简单的例子。 你需要在一个单一的请求,在相同的条件更新数据。 这种查询的构造优化数据库。 为什么写的每个表的不同的查询,如果你可以花所有的数据操纵请求吗? 实例 的MySQL更新 加入我们的情况是:

构建复杂的查询

经常使用数据库查询时需要建立不仅是几个表的联合,也与使用子查询。 这些问题是很难理解的新手程序员的数据库。 困难的是,我们必须思考每一步,决定从一个表或查询的数据需要获得以及如何在未来,他们应该去上班。

对于更具体的了解,可以考虑(在MySQL加入)的复杂查询的例子。 如果你是新的,刚开始来操作数据库,这样的训练只会受益。 理想的化身将MySQL的左连接的例子。

这个查询将返回美国,以58所记录的销售合同,这是完全或有所选日期的现金余额。 在这种情况下,当前的日期。 另外,样品中加入到该合同应的标题的字符的条件 - “123”。 屏幕上的信息(数据)将被分类 - 合同数量排序。

下面的示例显示所有付款,这将表明该合同号的详细信息。

使用子查询

正如前面提到的,使用数据库时,不仅能表,但要求该表合并。 这样的设计主要是用来加速查询和优化。

例如,如果你从表中,其中有数百场,并说,一千个记录想要的,选择只有两个字段,有必要使用返回只需要字段的查询,并与主数据样本相结合。 作为一个例子MySQL的加入选择可以考虑这种类型的请求:

它不是使用标准设计的MySQL,只有标准的所有方法。 如何使用设计中加入任何形式的程序员决定,但它是值得记住和顾及什么结果应该由查询得到。

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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