- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
openGauss数据库技术及应用任务3.3使用多表连接查询从数据采集平台查数据
任务描述某“数据采集平台”的数据来源于多个实体数据表,较复杂的查询业务需要从多个数据表获取数据,形成最终满足查询条件的数据。平台采集的数据分散存储在公司表、设备表、设备运行数据表,以及设备电流数据表中。本任务实现“数据采集平台”多表连接数据查询业务,包括内连接多表数据查询和外连接多表数据查询。通过本任务学习,学习者将掌握SQL多表连接查询技术,能从多个关系表中获取数据形成汇总数据。
多表连接查询多表连接查询是指基于两个或两个以上的表的数据查询,通过各个数据表之间的共同列构建表之间的连接,连接列的数据类型必须完全一致。当多个表存在相同的列名称时,需要在列名称前带上表名称以示区别,通过“表名.列名”的格式来声明要查询的列属于哪个表。表可以定义别名,因此,也可以用“表别名.列名”的格式来选择表中的列。多表连接方式主要有内连接和外连接,外连接又有左外连接、右外连接和全外连接。
使用多表连接查询从数据采集平台数据库查询数据1.使用内连接关联多表查询数据2.使用外连接关联多表查询数据
(1)使用内连接关联多表查询数据内连接是多个表通过连接条件中的共同列查询匹配的数据。在内连接的结果中,只保留符合连接条件的完全匹配记录,而其他不符合连接条件的记录则会被舍弃。SQL查询中使用关键词INNERJOIN实现多表内连接查询。表a存储了4个公司的信息,表b存储了4台设备信息,表a和表b有共同列“公司编号”。当表a和表b通过“公司编号”建立内连接时,得到表c,它是表a和表b的交集,包含了公司编号C001和C002公司信息及对应的设备信息。
(1)使用内连接关联多表查询数据两表内连接查询语法SELECT*|column1,[column2,…]FROMtable1INNERJOINtable2ONtable1.column_name=table2.column_nameWHEREcondition;说明:table1表和table2表依据两张表的共同列column_name建立两张表的内连接,并查询符合条件condition的所有数据列(*)或选择的数据列column1,column2,…。关键词ON后的条件table1.column_name=table2.column_name为连接条件。查询结果中的数据是两张表公共的匹配数据。
(1)使用内连接关联多表查询数据两表内连接查询另外一种形式,语法SELECT*|column1,[column2,…]FROMtable1,table2WHEREtable1.column_name=table2.column_nameANDcondition;说明:使用where条件替代innerjoin...on...连接关键词。
(1)使用内连接关联多表查询数据实践1:公司数据和公司设备数据分别存储在公司表和设备表中,当需要查询各公司有哪些设备资产时,需要从两张不同的数据表中取数据合并成汇总表。下列查询从公司表和设备表中查询公司的编号、公司名称、设备编号和设备名称,列名使用别名“公司编号”“公司名称”“设备编号”“设备名称”。语句:SELECTa.selfidAS公司编号,AS公司名称,b.equipmentnumberAS设备编号,AS设备名称FROMcompanyinfosaINNERJOINinstallinfosbONa.selfid=panyid;两表内连接查询实践
(1)使用内连接关联多表查询数据三表内连接查询语法SELECT*|column1,[column2,…]FROMtable1INNERJOINtable2ONtable1.column_name1=table2.column_name1INNERJOINtable3ONtable2.column_name2=table3.column_name2WHEREcondition;说明:table1表和table2表通过共同数据列column_name1建立两张表的内连接查询,table2表和table3表通过共同数据列column_name2建立两张表的内连接查询,table2分别与table1、table3有共同数据列,因此,table2是table1和table3建立联系的中间关系表。查询结果为三表的共同匹配数据。
(1)使用内连接关联多表查询数据实践2:设备的工作数据存储在备运行统计表中,使用三表内连接查询方法从公司表、设备表和设备运行统计表中查询公司的编号、公司名称、设备编号和设备名称、工作日期、工
原创力文档


文档评论(0)