`
kidiaoer
  • 浏览: 818736 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
文章分类
社区版块
存档分类
最新评论

Oracle PL-SQL中 左连接和右连接用法

阅读更多
数据表的连接有:
1、内连接(自然连接): 只有两个表相匹配的行才能在结果集中出现
2、外连接: 包括
     (1)左外连接(左边的表不加限制)
     (2)右外连接(右边的表不加限制)
     (3)全外连接(左右两表都不加限制)
3、自连接(连接发生在一张基表内)
select a.studentno, a.studentname, b.classname
      from students a, classes b
      where a.classid(+) = b.classid;
STUDENTNO STUDENTNAM CLASSNAME
---------- ---------- ------------------------------
            1 aa          一年级一班
            2 bb          一年级二班
                             一年级三班
以上语句是右连接:
即" (+)"所在位置的另一侧为连接的方向,右连接说明等号右侧的所有记录均会被显示,无论其在左侧是否得到匹配。也就是说上例中,无论会不会出现某个班级没有一个学生的情况,这个班级的名字都会在查询结构中出现。

即"(+)"表示所在的列的值,如果没有匹配的值,则加入null值,并显示出来。.

//通常将全量集合与部分集合连接时,在部分集合的列后面带上(+),以达到没有匹配时,也要显示出一个null的效果。


反之:
select a.studentno, a.studentname, b.classname
       from students a, classes b
      where a.classid = b.classid(+);

STUDENTNO STUDENTNAM CLASSNAME
---------- ---------- ------------------------------
            1 aa          一年级一班
            2 bb          一年级二班
            3 aa

则是左连接,无论这个学生有没有一个能在一个班级中得到匹配的部门号,这个学生的记录都会被显示。

select a.studentno, a.studentname, b.classname
       from students a, classes b
      where a.classid = b.classid;

这个则是通常用到的内连接,显示两表都符合条件的记录
总之,
左连接显示左边全部的和右边与左边相同的
右连接显示右边全部的和左边与右边相同的
内连接是只显示满足条件的!
分享到:
评论

相关推荐

    Oracle PL-SQL编程详解.pdf

    PL/SQL是Oracle数据库系统专用的一种过程化编程语言,它结合了SQL的查询能力并扩展了其功能,使得在数据库管理、事务处理和复杂业务逻辑中更具灵活性和效率。 1. PL/SQL程序设计简介: - PL/SQL的引入是因为SQL...

    Oracle PL-SQL语言教程(简体中文pdf版

    Oracle PL-SQL(Procedural Language/Structured Query Language)是Oracle数据库系统中的一种编程语言,它结合了SQL的查询功能和传统编程语言的控制结构,用于创建复杂的数据库应用程序。本教程将带你深入理解...

    Oracle PL-SQL 中联模拟笔试题

    Oracle PL-SQL是一种强大的数据库编程语言,用于在Oracle数据库环境中创建和管理复杂的业务逻辑和数据处理任务。在“Oracle PL-SQL 中联模拟笔试题”中,你可以期待一系列旨在测试和提升你对PL-SQL理解的题目。这些...

    OraclePL-SQL.rar_ORACLE PL_oracle_oracle sql

    掌握基本的SELECT、INSERT、UPDATE、DELETE语句,以及JOIN、GROUP BY、HAVING、子查询等高级SQL用法,是PL/SQL编程的关键。 5. **PL/SQL控制结构**:包括IF-THEN-ELSIF-ELSE、CASE语句进行条件判断,WHILE、FOR循环...

    ORACLE PL-SQL超经典面试题

    Oracle PL/SQL是Oracle数据库系统中的重要组成部分,用于创建复杂的业务逻辑和数据库处理。以下是对题目中提到的一些关键知识点的详细解释: 1. **冷备份与热备份**:冷备份是在数据库关闭状态下进行的,简单且可靠...

    oracle PL-SQL 基础

    根据提供的文件信息,我们可以深入探讨Oracle PL/SQL的基础知识点,包括其历史背景、优势、基本结构、以及变量的定义和使用等内容。 ### PL/SQL的历史 PL/SQL(Procedural Language for SQL)是一种专门为Oracle...

    Oracle-Pl-Sql.rar

    8. **数据库连接与游标变量**:在PL/SQL中,可以使用游标变量进行连接管理和数据传输,这对于在程序中实现复杂的数据交互至关重要。 9. **PL/SQL中的事务管理**:事务是一系列数据库操作的集合,可以确保数据的一致...

    Oracle PL-SQL语言初级教程

    - **紧密集成:** PL/SQL被深度整合到Oracle服务器和其他工具中,使得开发者可以利用其强大的功能而不必担心兼容性问题。 #### 二、复合数据类型 **关键知识点:** 复合数据类型包括**记录**和**集合**,它们是PL/...

    Oracle PL-SQL 基础.pdf

    Oracle PL/SQL是一种强大的编程语言,它被广泛用于在Oracle数据库环境中编写数据库应用程序。PL/SQL结合了SQL的查询和数据操作能力与一种结构化编程语言的特性,从而提供了更高级别的控制和效率。 PL/SQL的历史可以...

    ORACLE PL-SQL经典面试题

    在Oracle数据库中,PL/SQL是一种过程化语言,它结合了SQL的查询能力和高级编程语言的功能,常用于数据库管理、应用程序开发等场景。面试中,关于Oracle PL/SQL的经典问题通常涉及数据库架构、数据类型、异常处理、表...

    精典oracle PL-SQL编程-最好教材

    Oracle PL/SQL编程是数据库开发领域中的核心技术,尤其在Oracle数据库系统中扮演着核心角色。本书《精典Oracle PL-SQL编程》被视为该领域的优秀教材,涵盖了PL/SQL的全面入门知识,旨在帮助读者深入理解和熟练掌握这...

    Oracle PL-SQL(日本語版).pdf

    ### Oracle PL/SQL(日本語版).pdf #### 一、PL/SQL简介 - **定义**:PL/SQL(Procedural Language for SQL)是一种过程化语言扩展,用于增强标准SQL的功能。它将过程控制功能添加到SQL之上,使得开发者能够编写更...

    ORACLE PL-SQL面试题

    Oracle PL/SQL是一种在Oracle数据库中进行存储过程和复杂业务逻辑处理的编程语言。它结合了SQL用于数据查询和操纵的威力,与PL/SQL的结构化编程元素,如流程控制、变量和函数。以下是对给定面试题中涉及的一些核心...

    PL-SQL 帮助文件 PL-SQL 帮助文件

    PL-SQL,全称为Procedural Language/Structured Query Language,是Oracle数据库系统中的一种扩展的SQL语言,它结合了SQL的查询能力与编程语言的控制结构,使得开发者能够编写存储过程、函数、触发器等复杂数据库...

    PL-SQL

    标题:PL-SQL 描述:PL-SQL基本语法,基本使用 知识点详述: ### 一、PL-SQL概述 ...通过理解和掌握PL-SQL的基本语法和使用方法,可以极大地提升开发人员在数据库层面进行数据管理和处理的能力。

    Oracle.PL-SQL.Programming,4th.Ed.chm

    Oracle PL/SQL编程是数据库管理和开发中的核心技能之一,尤其对于使用Oracle数据库系统的专业人士来说,掌握PL/SQL语言是至关重要的。"Oracle.PL-SQL.Programming,4th.Ed.chm"是一个关于Oracle PL/SQL编程的第四版...

Global site tag (gtag.js) - Google Analytics