数据源表
将两数据表连接为一个表并筛选MySQL 两个表数据链接_字段    将两数据表连接为一个表并筛选MySQL 两个表数据链接_字段_02
       Student表                                                                               English表

    如图所示,其中Student表为各学生的学号(Sno)、姓名(Sname)、性别(Ssex)、所在系(Sdept)等信息,而Englisg表则为各学生的学号(Sno)及期末的英语考试成绩(Grade).两个表
之间均有唯一的学号( Sno)标识。如何把各学生的所有信息连接起来放在一个表中?

1  通过OLE DB方法找到外部数据源,保留“选择表格”对话框中对名称的默认选择,单击“确定”按钮,激活“导入数据”对话框,再单击“属性”按钮,在弹出的“连接属性”对话框中勾选“打开文件时刷新数据”复选框,然后单击“定义”选项卡,清空“命令文本“框中原有的内容。

2  在“命令文本”框中输入以下SQL连接语句:

SELECT  [sheet1$].Sno,Sname,Ssex,Sage,Sdept,Grade
FROM    [sheet1$],[sheet2$]
WHERE   [sheet1$].Sno=[sheet2$].Sno

    单击“确定”按钮返回“导入数据”对话框,指定返回的查询数据位置为新工作表,然后单击“确定”按钮,即可把Student表及English表相关的记录连接在一起,调整单元格格式,最后的结果如图所示。

将两数据表连接为一个表并筛选MySQL 两个表数据链接_其他_03

    ※如何理解主键标识※
    本例以Sno字段作为唯一标识把Student表和English表的列字段连接在一起,通过使用主键列来标识这两者之间不重复的关系,将表的距离拉近。那么,如何理解主键标识呢?
    大部分表都包含一个主键,它标识了表中的每一行,并给它们起了一个名字。每一行都必须有自己的特性,因此,不允许两行中有相同的主键。例如,一个学生在学校中的唯一标
识就是其学号,通过其学号,可以知道该学生在学校里登记的相关信息,不会与其他学生的信息发生冲突。这个唯一主键要求SQL初学者必须牢牢记住,这对于以后规范设计工作表有
很大的帮助。
    主键是由表的几个列组成的,按照阅读习惯,一般是前面几列。主键可以是一个或一个以上的列。假定只有一个主键,它是由几个列组成的,那么这个主键就是这些列的集合,作为单
个单元格来使用,这就是用来标识每一行的主键。
    主键就像一个名词,因为它命名了每个行的对象。其他列就像是形容词,因为它们给出了有关这个对象的其他信息。
    列的名字可以看做是表定义的一部分,同样,行的名字(是行的主键)可看做是表中数据的一部分。
    表的主键列有以下两条规则:
    1.主键列不可以包含一个Null。这是有意义的,因为Null是一个未知数值,所以,主键的任意部分为Null将意味着用户不知道对象或者行的特性。在数据库中,一般不建议输入未经
确认的相关信息。
    2.每一行都必须有一个不同于表中其他行的特性。这就是说,没有两行可以拥有相同的特性,这个相同的特性就是主键的所有列中的相同值。对于表的任意两行,它们必须至少在主
键的一个列是不同的。

    对于主键,可以归纳成以下几点:
    1.大部分表都有主键。
    2.通常,主键是由表的第一列或者前面几列组成的。
    3.主键指明了行所表示的对象、事件或关系。按照语法,它是一个名词,因为它是行中所有信息的题目。
    4.表的其他列陈述了主键。按照语法,它们是形容词或者副词,它们描述了主键所指明的对象,并且给出了有关对象的其他信息。