oracle连接多个表
33页1、连接多个表,Oracle SQL和PL/SQL编程,目标,创建一个笛卡尔连接 使用WHERE子句创建相等连接 使用JOIN关键字创建相等连接 使用WHERE子句创建不等连接 使用JOINON方法创建不等连接 创建自我连接 区分内部连接和外部连接 使用WHERE子句创建外部连接 使用OUTER关键字创建外部连接 使用集合运算符结合多个查询的结果 连接三个或更多表,笛卡尔连接,又称为“笛卡尔乘积”或“交叉连接”,第一表中的每一个数据与第二个表中的每一个记录配对 如果第一个表中有m条记录,第二个表中有n条记录,结果是m*n条记录,笛卡尔连接传统方法,查找每本书的出版社名称,SELECT title,name FROM books,publisher;,笛卡尔连接JOIN方法,Oracle 中,可以使用CROSS关键字与JOIN关键字一起使用用来创建笛卡尔连接,SELECT title,name FROM books CROSS JOIN publisher;,相等连接,实际工作中,最常用的连接类型是对一个公共列中存储了相同数据的两个(或多个)表创建的,这种连接被称为“相等连接”,也可以称为“
2、同等连接”,“内部连接”或“简单连接”。 公共列是两个或更多表中存在相同数据的列,比如, boooks和publisher表都包含一个Pubid的公共列,这个公共列标识为每一个出版社指定的标识代码。,相等连接传统方法,传统方法是使用WHERE子句,等号用来指定对于在结果中连接和返回的行,每一个表中的Pubid列和内容必须完全相等。,SELECT title,name FROM books,publisher WHERE books.pubid = publisher.pubid;,注意:WHERE子句中的pubid列名称前面包括了对应得表名称。,相等连接传统方法,需要输出这个pubid时,必须在SELECT子句中指明哪个表的,以便引起多义性错误,也就是说连接查询的两个表中有相同列明的时候,要指明具体是哪个表的列要显示,SELECT title,books.pubid,name FROM publisher,books WHERE publisher.pubid = books.pubid AND publisher.pubid=4;,相等连接传统方法,查询成本低于15.00美元或者出版
3、商id为1的任何图书书名,出版社编号,出版社名称,书的成本价,SELECT title,p.pubid,name,cost FROM publisher p,books b WHERE p.pubid=b.pubid AND (cost15 OR b.pubid=1);,用到了表别名,作用是为表临时指定一个不同的名称, 原因:表名过长不便于使用,可以使用表别名,还可以减少需要的内存,要记住一个规则:如果在FROM子句中指定了一个表别名,那么只要在这个SQL语句中引用这个表,就必须使用这个别名。,相等连接JOIN方法,可以使用三种JOIN关键字的方法来创建相等连接: NATURAL JOIN,JOINUSING和JOINON NATURAL JOIN关键字将在包括一个同等命名和定义的字段的两个表之间自动创建连接 使用USING子句可以根据在两个表中具有相同名称和定义的列创建连接 当USING子句中连接的表没有包括一个同等命名和定义的字段时,必须添加一个WHERE子句或者向JOIN关键字添加ON子句,以便制定这两个表之间的关系。,相等连接JOIN方法,列出books表中每一本书的书名以及对
4、应的出版社ID和出版社名称,SELECT title,pubid,name FROM publisher NATURAL JOIN books;,注意:不需要指定两个表包含哪一个或哪些公共列,但暗示了至少存在一个具有相同名称的公共列,相等连接JOIN方法,JOINUSING方式 JOINON方式,SELECT title,pubid,name FROM books JOIN publisher USING (pubid);,SELECT title ,name FROM books b JOIN publisher p ON b.pubid = p.pubid;,如果不查询公共列时,SELECT title,b.pubid,name FROM books b JOIN publisher p ON b.pubid = p.pubid;,如果查询公共列,要指出具体出自哪个表,相等连接JOIN方法,随JOIN关键字使用USING和ON子句,其间存在的两个主要区别 只有当连接的表包括一个具有相同名称的公共列式才能使用USING子句,这不是ON子句所必须的 条件是在ON子句中指定的,这在USI
《oracle连接多个表》由会员san****019分享,可在线阅读,更多相关《oracle连接多个表》请在金锄头文库上搜索。
高中化学实验方案的设计第一节制备实验方案设计
高中生物实验室配置
高中体育与健康课程田径必修模块单元教学方案
高中通用技术方案的构思方法-设计分析教案苏教版必修
高中生物室配置
高中信息技术网络技术应用选修模块教学评价方案
骆小学教师戏曲知识培训方案(I)
麻村小学阳光体育活动计划及实施方案
高桥小学幼小衔接活动方案
马摆小学控辍保学实施方案
金阳街道中心小学未成年人思想道德建设实施方案
龙扬小学第32个爱国卫生月活动方案
魏家井联小学度控辍保学工作方案
高区第九届初中骨干教师课堂教学能力展示活动
长沙县2018年度小学生课外阅读知识竞赛及书目
阳江中心小学一月一事之五月主题活动方案
长营小学校园体育活动实施方案
高考历史备考方案-陈军
高考语文第5课父亲课前预案苏教版选修现代散文选读
高考语文第9课铃兰花课前预案苏教版选修现代散文选读
2024-04-11 25页
2024-04-11 37页
2024-04-11 28页
2024-04-11 31页
2024-04-11 36页
2024-04-11 29页
2024-04-11 22页
2024-04-11 27页
2024-04-11 34页
2024-04-11 32页