首页 理论教育 VisualFoxPro6.0数据库查询多表联接示例

VisualFoxPro6.0数据库查询多表联接示例

时间:2023-10-19 理论教育 版权反馈
【摘要】:多表查询时,可用WHERE子句指定表间的联接关系。另外,用于查询的多个表中,往往有同名的字段,当字段名不唯一时,要在同名字段名前加上表名或表的别名作为前缀作以区别。〈表名〉.〈字段名〉或〈别名〉.〈字段名〉查询每位教师的编号、姓名、教授课程、学生专业及学生人数。

VisualFoxPro6.0数据库查询多表联接示例

前面的例子比较简单,都是基于单表的查询,用于查询的表只有一个,在实际应用中更多的是从多个表中查询出所需要的数据。如:查询每位教师的编号、姓名、教授课程、学生专业及学生人数等信息。

在SELECT命令的FROM子句中,可以在指定数据源表的同时给表定义别名,方法是:

给表定义了别名后,在查询语句中就可以使用别名来代替表名,使命令简化一些。

多表查询时,可用WHERE子句指定表间的联接关系。

【格式】〈表名1〉.〈字段名1〉=〈表名2〉.〈字段名2〉

或:〈别名1〉.〈字段名1〉=〈别名2〉.〈字段名2〉

在联接条件中〈字段名1〉和〈字段名2〉通常是两个表中的公共字段。

另外,用于查询的多个表中,往往有同名的字段,当字段名不唯一时,要在同名字段名前加上表名或表的别名作为前缀作以区别。

【格式】〈表名〉.〈字段名〉或〈别名〉.〈字段名〉(www.xing528.com)

【例5-11】查询每位教师的编号、姓名、教授课程、学生专业及学生人数。

说明:JS 是为书写简化而给教师表取的别名。

查询结果:

【例5-12】查询所有教师的编号、姓名、所教授学生的总人数、职称,并按教师编号升序排序。

查询结果:

分析:

编号、姓名在教师表中,学生人数在业务信息表中,职称在专业信息表中,本例是从三个表中查询信息,三个表的公共字段为编号。另外要查询出每位教师所教学生总人数,需用GROUP BY 按编号进行分组,再用SUM( )对每组中学生人数求和,ORDER BY 编号为对查询结果按编号升序排序。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈