`
daxiong921
  • 浏览: 44532 次
  • 性别: Icon_minigender_1
  • 来自: 龙岩
社区版块
存档分类
最新评论

Oracle第三天学习(sql1999)表连接

阅读更多
1
原本用 sql1992的语法连接 emp和dept表是这样连的
select ename,dname from emp ,dept
where emp.deptno = dept.deptno;

换成 sql 1999的语法连接 emp和dept表的话,是这样连的
select ename,dname from emp
join dept on (emp.deptno=dept.deptno)


如果用 sql1999语法连接 三张表 emp,dept,salgrade
select e.ename,d.dname,e.sal,s.grade from emp
join dept d on (dept.deptno=e.deptno)
join salgrade s on (e.sal between s.losal and s.hisal)
where ...过滤条件...;


看例子就应该能理解SQL1999的表连接语法了吧

join 表名 on (连接条件)            -----连接几张,就重复几次

哈哈,从现在开始改用 1999标准,确实比1992好写,而且读起来更清楚

2
左外连接(left join on),
右外连接(right join on),
左右连接(full join on)

a, 左外连接 left join on
我们使用普通的连接查询 员工的名字和经理的名字
select e.ename,m.ename from emp e 
join emp m on (e.mgr=m.empno);


如果这么写,只能查出13条记录,可是包括 老板在内,总共有14名员工
原来,老板他就没有自己的经历了,所以只查出了13条记录。
如果,我们想用表连接查出 员工和经理,老板也必须包括在内,怎么查呢?
这时候就可以使用 left join on 左外连接
select e.ename,m.ename from emp e
left join emp m on (e.mgr=m.empno);


现在就可以显示 包括老板在内的 员工 经理 记录了。
可是,这里为什么是使用 左外连接而不用右外连接呢?
通过仔细观察可以发现, 因为 我们要显示的第14条记录(老板的名字)位于前一张表(左边那张表)中,所以,我们用 left join,上例子换成 右外连接也是可以的,我们可以这么写
select e.ename,m.ename from emp m
right join emp e on (e.mgr=m.empno);

看,这么就换成了 right join on 右外连接

左右连接(full join on)
full join on 就是把左右连接的两张表中隐藏人物 都给显示出来









分享到:
评论

相关推荐

    oracle sqldeveloper连接mysql、SQLServer第三方dll

    解决oracle sqldeveloper无法连接mysql、SQLServer问题,sqlDeveloper是ORACLE数据库开发工具,自带的是无法连接MS SQL Server以及mysql的,想连接的话需要第三方工具。 使用方法: 解压出来后将2个jar放入jlib...

    ORACLE_SQLDeveloper使用教程

    这部分内容非常重要,因为它是连接和管理 Oracle 数据库的第一个接触点。 **如何使用 Oracle Database Home Page(一)** 1. **启动 Oracle Database Home Page:** - 如果您已经安装了 Oracle 数据库 10g 精简版...

    Oracle SQL 官方文档

    3. **Oracle SQL参考**:这是Oracle SQL语法的权威指南,涵盖DML(数据操纵语言)如INSERT、UPDATE、DELETE,DDL(数据定义语言)如CREATE、ALTER、DROP,以及查询语言SELECT。它详细解释了各种连接(JOIN)类型、子...

    Oracle数据库导入到SqlServer步骤(图文篇)

    Oracle 数据库到 SqlServer 数据迁移步骤详解 Oracle 数据库到 SqlServer 的数据迁移是一项复杂的任务,需要经过多个步骤来完成。本文将详细介绍如何将 Oracle 数据库导入到 SqlServer 中。 Step 1-6: 数据源设置...

    Oracle的三种表连接方式

    "Oracle 的三种表连接方式详解" Oracle 的三种表连接方式是指在做表 join 的时候, Oracle 有三种方式,分别是:sort merge join(SMJ) ·nest loop(NL) ·hash join(HJ)。下面是对这三种策略的详细讲解: sort ...

    ORACLE-SQL语句学习教程解读.pdf

    Oracle SQL语句是数据库管理员和开发人员在Oracle数据库系统中进行数据操作的主要工具。本教程将深入探讨Oracle SQL的各种核心概念和技术,旨在帮助初学者和经验丰富的用户更好地理解和使用SQL语句。 首先,我们从...

    sql oracle数据库连接jar包

    本主题主要关注的是"sql oracle数据库连接jar包",它提供了连接SQL Server和Oracle数据库所需的关键库文件。 首先,让我们详细了解一下`Oracle_10g_10.2.0.4_JDBC_ojdbc14.jar`。这个文件是Oracle公司提供的JDBC...

    oracle多表连接技巧

    通过对Oracle中多表连接技术的学习,我们可以更加灵活地处理复杂的查询需求。正确使用各种类型的连接,能够帮助我们高效地获取所需的数据,并且避免出现不必要的数据冗余。希望本文能够对大家在实际工作中运用Oracle...

    oracle10g或11g通过dblink访问sql server数据库

    **第三步:配置透明网关参数文件** 在透明网关服务器上,需要创建或修改透明网关的参数文件。默认情况下,安装透明网关会自动生成一个名为`inittg4msql.ora`的参数文件,但也可以创建一个新的参数文件,例如`...

    oracle_sql笔记

    内连接(INNER JOIN)返回匹配的行,左连接(LEFT JOIN)返回左表所有行及右表匹配行,右连接(RIGHT JOIN)反之,全连接(FULL JOIN)返回所有匹配和不匹配的行。 五、子查询 子查询是在主查询内部的查询,可以用于获取...

    sqlserver-oracle 数据类型对照

    - `CONCAT`和`+`运算符在Oracle和SQL Server中都用于字符串连接。 - `LOWER`和`UPPER`分别用于将字符串转为小写和大写。 - `LPAD`、`LTRIM`和`RTRIM`分别用于在字符串左侧填充、去除左侧空白和去除右侧空白。 - ...

    SqlServer迁移至oracle所需jtds

    通过“工具”菜单选择“首选项”,然后进入“数据库”下的“第三方JDBC驱动程序”,在这里添加jtds的.jar文件路径,这样SQL Developer就能识别并使用这个驱动来连接SQL Server。 6. 数据迁移步骤:迁移的具体步骤...

    OracleSQL必备参考

    理解这些基本操作是学习Oracle SQL的第一步。 2. **子查询**:Oracle SQL支持子查询,这允许在单个查询中嵌套另一个查询,用于检索满足特定条件的数据。例如,你可以用子查询找出某个部门薪水最高的员工。 3. **...

    Oracle11g连接Pl/Sql的客户端

    8. **第三方工具集成**: PL/SQL Developer和SQL Developer等工具可以利用Instant Client来建立与Oracle11g的连接。这些工具提供了图形化的界面,方便用户管理和开发数据库应用。 9. **版本兼容性**: "11_2"表示这个...

    PL/Sqldeveloper远程连接服务器oracle数据库的配置

    第三步:安装PL/SQL Developer 安装PL/SQL Developer后,需要在Tools->Perference->Connection里面设置OCI Library和Oracle_Home。例如本机设置为: Oracle Home :F:\oracle\11.2.0\client_1 OCI Library :F:\...

    SQLOracle21天自学通

    #### 第三天:表达式、条件语句与运算 - **表达式**:SQL支持各种表达式,包括算术表达式、字符串表达式、比较表达式等。这些表达式可以用来进行数据处理和计算。 - **条件语句**:使用IF-THEN-ELSE语句可以在SQL中...

    ORACLE_高效SQL分析

    Oracle支持三种主要的表连接方法: - **嵌套循环(Nested Loop, NL)**:适合小表与大表连接,通常用于连接条件非常简单的情况。 - **哈希连接(Hash Join, HJ)**:适合两个大表之间的连接,通过哈希表实现高效连接。 ...

    ORACLE表连接方式

    本文将对Oracle中的几种主要表连接方式进行详细介绍:内连接(Inner Join)、自然连接(Natural Join)、左外连接(Left Outer Join)、右外连接(Right Outer Join)、笛卡尔连接(Cartesian Join)、索引连接...

Global site tag (gtag.js) - Google Analytics