`

oracle 连接 中的 ON 和WHERE

阅读更多
前提准备

CREATE TABLE A_TEST
(
    A_ID                           VARCHAR2(100) NOT NULL,
    A_C1                           VARCHAR2(100)
)

数据:
1	A1
2	A2
3	A3

CREATE TABLE B_TEST
(
    B_ID                           VARCHAR2(100) NOT NULL,
    B_C1                           VARCHAR2(100),
    B_C2                           VARCHAR2(100)
)
数据:

1	BC1_1	B_C2_1
2	BC1_2	B_C2_2
3	BC1_3	B_C2_3




LEFT JOIN  ON

SELECT A.A_C1
      ,B.B_C1
      ,B.B_C2
  FROM A_TEST A
  LEFT JOIN B_TEST B ON A.A_ID=B.B_ID 

检索结果:
A1	BC1_1	B_C2_1
A2	BC1_2	B_C2_2
A3	BC1_3	B_C2_3




LEFT JOIN ON   附件条件

SELECT A.A_C1
      ,B.B_C1
      ,B.B_C2
  FROM A_TEST A
  LEFT JOIN B_TEST B ON A.A_ID=B.B_ID
   [color=red][b]AND A.A_ID = '1'[/b][/color]

检索结果:
A1	BC1_1	B_C2_1
A2	(NULL)	(NULL)
A3	(NULL)	(NULL)	



LEFT JOIN ON  WHERE

SELECT A.A_C1
      ,B.B_C1
      ,B.B_C2
  FROM A_TEST A
  LEFT JOIN B_TEST B ON A.A_ID=B.B_ID
WHERE A.A_ID='1'

检索结果:A1	BC1_1	B_C2_1


※: 其实WHERE 就是和我们没有联合条件是一样过滤   带WHERE的联合就是把联合后的结果在从新过滤一遍而已!
分享到:
评论

相关推荐

    深入Oracle的left join中on和where的区别详解

    今天遇到一个求某月所有天数的统计结果,如果某日的结果是0也需要显示出来...一开始我用的左连接,用on做为两表关联条件,用where作为过滤条件,但是发现0的数据根本不显示,后来把where关键字去掉,把过滤条件都放到on

    oracle学习文档 笔记 全面 深刻 详细 通俗易懂 doc word格式 清晰 连接字符串

     删除“开始”/“程序”中所有Oracle的组和图标。  删除所有与Oracle相关的目录,包括: C:\Program file\Oracle目录。 ORACLE_BASE目录。 C:\Documents and Settings\系统用户名、LocalSettings\Temp目录下的...

    最全的oracle常用命令大全.txt

    一、ORACLE的启动和关闭 1、在单机环境下 要想启动或关闭ORACLE系统必须首先切换到ORACLE用户,如下 su - oracle a、启动ORACLE系统 oracle>svrmgrl SVRMGR>connect internal SVRMGR>startup SVRMGR>quit b、关闭...

    Oracle练习.txt

    5.如何在ORACLE中取毫秒? select systimestamp from dual; 6.如何在字符串里加回车? 添加一个||chr(10) select 'Welcome to visit'||chr(10)||'www.CSDN.NET' from dual ; 7.怎样修改oracel数据库的默认日期? ...

    获取top前10个Oracle的进程(支持多实例)

    Z、连接对应的Oracle实例找出执行SQL B、进行了占用内存大小自动转换,快速查看占有大小是G、M、K 3、将来版本 A、提供Socket侦听,使用telnet直接可以查看 B、提供telnet扩展命令,直接查看性能与语句 C、...

    oracle实验报告

    (1) 了解Oracle的工作环境和基本使用方法。 (2) 练习标准SQL的数据操作,查询命令及其查询优化。 (3) 学会使用高级SQL命令,排序、分组、自连接查询等。 (4) 学会使用SQL*PLUS命令显示报表,存储到文件等。 【实验...

    Oracle练习笔试大全

    Oracle练习笔试大全 1、select ename, sal * 12 from emp; //计算年薪 2、select 2*3 from dual; //计算一个比较纯的数据用dual表 3、select sysdate from dual; //查看当前的系统时间 4、select ename, sal*12 ...

    Oracle_Database_11g完全参考手册.part3/3

    13.2.1 Oracle9i以前版本中的外部连接的语法 13.2.2 现在的外部连接语法 13.2.3 用外部连接代替NOTIN 13.2.4 用NOTEXISTS代替NOTIN 13.3 自然连接和内部连接 13.4 UNION、INTERSECT和MINUS 13.4.1 IN子查询 13.4.2 ...

    Oracle_Database_11g完全参考手册.part2/3

    13.2.1 Oracle9i以前版本中的外部连接的语法 13.2.2 现在的外部连接语法 13.2.3 用外部连接代替NOTIN 13.2.4 用NOTEXISTS代替NOTIN 13.3 自然连接和内部连接 13.4 UNION、INTERSECT和MINUS 13.4.1 IN子查询 13.4.2 ...

    oracle数据库经典题目

    1.在多进程Oracle实例系统中,进程分为用户进程、后台进程和服务进程。 2.标准的SQL语言语句类型可以分为:数据定义语句(DDL)、数据操纵语句(DML)和数据控制语句(DCL)。 3.在需要滤除查询结果中重复的行时,必须...

    韩顺平oracle学习笔记

    5、环境变量中删除有关oracle的classpath和path ,, 三、oracle开发工具, Sqlplus是Oracle自带的工具软件,主要用于执行sql语句,pl/sql块。,如何使用:,, 1)在开始,程序,oracle,orachome90,, ,,application,...

    Oracle SQL高级编程(资深Oracle专家力作,OakTable团队推荐)--随书源代码

    她是Oracle ACE,也是OakTable(Oracle社区中著名的“Oracle科学家”的非正式组织)的成员,经常在技术会议上演讲。她的著作还包括 Expert Oracle Practices和Beginning Oracle SQL,博客主页是karenmorton....

    Oracle创建视图(View)

    1.视图的查询可以使用复杂的SELECT语法,包括连接/分组查询和子查询; 2.在没有WITH CHECK OPTION和 READ ONLY 的情况下,查询中不能使用ORDER BY 子句; 3.如果没有为CHECK OPTION约束命名,系统会自动为之命名,...

    Oracle事例

    20.oracle8中扩充了group by rollup和cube的操作。有时候省了你好多功夫的。 下面的语句可以进行总计 select region_code,count(*) from aicbs.acc_woff_notify group by rollup(region_code); <2> 对第1个字段...

    OCPOCA认证考试指南全册:Oracle Database 11g(1Z0-051,1Z0-052,1Z0-053)--详细书签版(第2/2部分)

    3.2.1 Database Control的启动和连接 88 3.2.2 启动数据库侦听器 90 3.2.3 启动SQL*Plus 91 3.2.4 启动和关闭数据库 92 3.3 使用警报日志和跟踪文件 100 3.4 使用数据字典和动态性能视图 101 3.4.1 数据字典...

    Oracle9i的init.ora参数中文说明

    正常情况下, WHERE 子句中进行的比较是二进制的, 但语言比较则需要 NLSSORT 函数。可以使用 NLS_COMP 指定必须根据NLS_SORT 会话参数进行语言比较。 值范围: Oracle8i National Language Support Guide 中指定的...

    ORACLE数据库DBA面试集锦

     1:列举几种表连接方式  hash join/merge join/nest loop(cluster join)/index join  2:不借助第三方工具,怎样查看sql的执行计划  set autot on  explain plan set statement_id = &item_id for &sql;  ...

    精通SQL数据库连接.doc

    在基本的逻辑句法之外,还有一些关于连接和简便数据参考方面的概念,例如别名,自连接和ON子句。 别名不只是做连接 别名是一个SQL功能,他允许你在一个查询中为表格或专栏创建一个速记符号,他在处理自连接时也可以...

Global site tag (gtag.js) - Google Analytics