- 浏览: 33704 次
- 性别:
- 来自: 哈尔滨
最新评论
(转)
Oracle的左连接和右连接
PL-SQL中,左连接和右连接以如下方式来实现
查看如下语句:
SELECT emp_name, dept_name FORM Employee, Department WHERE Employee.emp_deptid(+) = Department.deptid
此SQL文使用了右连接,即“(+)”所在位置的另一侧为连接的方向,右连接说明等号右侧的所有记录均会被显示,
无论其在左侧是否得到匹配,也就是说上例中无论会不会出现某个部门没有一个员工的情况,这个部门的名字都会在查询结果中出现。
反之:
SELECT emp_name, dept_name FORM Employee, Department WHERE Employee.emp_deptid = Department.deptid(+)
则是左连接,无论这个员工有没有一个能在Department表中得到匹配的部门号,这个员工的记录都会被显示
一般的相等连接:
select * from a, b where a.id = b.id;
这个就属于内连接。
对于外连接:
Oracle中可以使用“(+) ”来表示,9i可以使用LEFT/RIGHT/FULL OUTER JOIN
LEFT OUTER JOIN:左外关联
SELECT e.last_name, e.department_id, d.department_name
FROM employees e
LEFT OUTER JOIN departments d
ON (e.department_id = d.department_id);
等价于
SELECT e.last_name, e.department_id, d.department_name
FROM employees e, departments d
WHERE e.department_id=d.department_id(+)
结果为:所有员工及对应部门的记录,包括没有对应部门编号department_id的员工记录。
RIGHT OUTER JOIN:右外关联
SELECT e.last_name, e.department_id, d.department_name
FROM employees e
RIGHT OUTER JOIN departments d
ON (e.department_id = d.department_id);
等价于
SELECT e.last_name, e.department_id, d.department_name
FROM employees e, departments d
WHERE e.department_id(+)=d.department_id
结果为:所有员工及对应部门的记录,包括没有任何员工的部门记录。
FULL OUTER JOIN:全外关联
SELECT e.last_name, e.department_id, d.department_name
FROM employees e
FULL OUTER JOIN departments d
ON (e.department_id = d.department_id);
结果为:所有员工及对应部门的记录,包括没有对应部门编号department_id的员工记录和没有任何员工的部门记录。
-----------------------------------------
-----------------------------------------
在讲外连接之前,先举例介绍内连接,也就是一般的相等连接。
select * from a, b where a.id = b.id;
对于外连接,Oracle中能够使用“(+)”来表示,9i能够使用LEFT/RIGHT/FULL OUTER JOIN,下面将配合实例一一介绍。
1. LEFT OUTER JOIN:左外关联
SELECT e.last_name, e.department_id, d.department_name
FROM employees e
LEFT OUTER JOIN departments d
ON (e.department_id = d.department_id);
等价于
SELECT e.last_name, e.department_id, d.department_name
FROM employees e, departments d
WHERE e.department_id=d.department_id(+);
结果为:任何员工及对应部门的记录,包括没有对应部门编号department_id的员工记录。
2. RIGHT OUTER JOIN:右外关联
SELECT e.last_name, e.department_id, d.department_name
FROM employees e
RIGHT OUTER JOIN departments d
ON (e.department_id = d.department_id);
等价于
SELECT e.last_name, e.department_id, d.department_name
bitsCN.Com
FROM employees e, departments d
WHERE e.department_id(+)=d.department_id;
结果为:任何员工及对应部门的记录,包括没有任何员工的部门记录。
3. FULL OUTER JOIN:全外关联
SELECT e.last_name, e.department_id, d.department_name
FROM employees e
FULL OUTER JOIN departments d
ON (e.department_id = d.department_id);
结果为:任何员工及对应部门的记录,包括没有对应部门编号department_id的员工记录和没有任何员工的部门记录
Oracle的左连接和右连接
PL-SQL中,左连接和右连接以如下方式来实现
查看如下语句:
SELECT emp_name, dept_name FORM Employee, Department WHERE Employee.emp_deptid(+) = Department.deptid
此SQL文使用了右连接,即“(+)”所在位置的另一侧为连接的方向,右连接说明等号右侧的所有记录均会被显示,
无论其在左侧是否得到匹配,也就是说上例中无论会不会出现某个部门没有一个员工的情况,这个部门的名字都会在查询结果中出现。
反之:
SELECT emp_name, dept_name FORM Employee, Department WHERE Employee.emp_deptid = Department.deptid(+)
则是左连接,无论这个员工有没有一个能在Department表中得到匹配的部门号,这个员工的记录都会被显示
一般的相等连接:
select * from a, b where a.id = b.id;
这个就属于内连接。
对于外连接:
Oracle中可以使用“(+) ”来表示,9i可以使用LEFT/RIGHT/FULL OUTER JOIN
LEFT OUTER JOIN:左外关联
SELECT e.last_name, e.department_id, d.department_name
FROM employees e
LEFT OUTER JOIN departments d
ON (e.department_id = d.department_id);
等价于
SELECT e.last_name, e.department_id, d.department_name
FROM employees e, departments d
WHERE e.department_id=d.department_id(+)
结果为:所有员工及对应部门的记录,包括没有对应部门编号department_id的员工记录。
RIGHT OUTER JOIN:右外关联
SELECT e.last_name, e.department_id, d.department_name
FROM employees e
RIGHT OUTER JOIN departments d
ON (e.department_id = d.department_id);
等价于
SELECT e.last_name, e.department_id, d.department_name
FROM employees e, departments d
WHERE e.department_id(+)=d.department_id
结果为:所有员工及对应部门的记录,包括没有任何员工的部门记录。
FULL OUTER JOIN:全外关联
SELECT e.last_name, e.department_id, d.department_name
FROM employees e
FULL OUTER JOIN departments d
ON (e.department_id = d.department_id);
结果为:所有员工及对应部门的记录,包括没有对应部门编号department_id的员工记录和没有任何员工的部门记录。
-----------------------------------------
-----------------------------------------
在讲外连接之前,先举例介绍内连接,也就是一般的相等连接。
select * from a, b where a.id = b.id;
对于外连接,Oracle中能够使用“(+)”来表示,9i能够使用LEFT/RIGHT/FULL OUTER JOIN,下面将配合实例一一介绍。
1. LEFT OUTER JOIN:左外关联
SELECT e.last_name, e.department_id, d.department_name
FROM employees e
LEFT OUTER JOIN departments d
ON (e.department_id = d.department_id);
等价于
SELECT e.last_name, e.department_id, d.department_name
FROM employees e, departments d
WHERE e.department_id=d.department_id(+);
结果为:任何员工及对应部门的记录,包括没有对应部门编号department_id的员工记录。
2. RIGHT OUTER JOIN:右外关联
SELECT e.last_name, e.department_id, d.department_name
FROM employees e
RIGHT OUTER JOIN departments d
ON (e.department_id = d.department_id);
等价于
SELECT e.last_name, e.department_id, d.department_name
bitsCN.Com
FROM employees e, departments d
WHERE e.department_id(+)=d.department_id;
结果为:任何员工及对应部门的记录,包括没有任何员工的部门记录。
3. FULL OUTER JOIN:全外关联
SELECT e.last_name, e.department_id, d.department_name
FROM employees e
FULL OUTER JOIN departments d
ON (e.department_id = d.department_id);
结果为:任何员工及对应部门的记录,包括没有对应部门编号department_id的员工记录和没有任何员工的部门记录
发表评论
-
xml xmlwithdtd
2011-03-03 19:00 730<?xml version="1.0" ... -
xml dtd
2011-03-03 18:59 704<?xml version="1.0" ... -
xml
2011-03-03 18:58 758</wd><?xml version=&qu ... -
jdbc中分页技术结合sql语句实现
2011-03-02 20:47 1044package jdbcDay03; import ja ... -
jdbc中可滚动数据定位方法
2011-03-02 20:44 806package jdbcDay03; import ja ... -
jdbc中从数据库中取得不同的数据
2011-03-02 20:40 766package jdbcDay03; import ja ... -
jdbc中读取图片文件
2011-03-02 20:37 1135public static void printpic( ... -
jdbc向数据库中保存图片
2011-03-02 20:35 2029package com; import java.sql ... -
jdbc 序列生成pk
2011-03-02 08:22 879package Jdbcday02; import ja ... -
jdbc连接池
2011-03-02 08:20 777package Jdbcday02; import ja ... -
jdbc存储过程
2011-03-02 08:19 707package Jdbcday02; import ja ... -
jdbc批处理ad使用
2011-03-02 08:17 747package Jdbcday02; import java ... -
jdbc批处理使用
2011-03-02 08:15 807package Jdbcday02; import java ... -
jdbc 简单工具类的使用
2011-03-02 08:13 1049package Jdbcday02; imp ... -
jdbx心得笔记02----database,rs元数据使用
2011-03-02 08:09 3206package com; import java.sql.C ... -
jdbc简单应用
2011-03-02 08:03 785package com; import java ... -
小程序-------双色球猜抽
2011-01-18 20:52 704---------双色球 import java.util.R ... -
小程序----文字竖排
2011-01-18 20:49 1675package day05; import java.uti ...
相关推荐
【标题】"一键登录新浪博客,专业新浪博客浏览器"揭示了这款软件的主要功能,即提供一个便捷的方式,让用户能够快速地登录新浪博客平台。这通常意味着该软件集成了新浪博客的登录接口,用户只需点击一次按钮,即可...
新浪博客在登录自己的博客空间后,再访问其它博客,就会在对方博客首页的“访客”栏中留下自己的头像、名字和博客地址,别人点击这个头像就可以访问您的博客。由于这样来访的人,都是对您的头像或名字感兴趣的人,...
【标题】"sina新浪博客编辑器"是一个专为新浪博客用户设计的工具,它旨在提升用户在新浪博客上撰写和编辑文章的体验。这款编辑器借鉴了OFFICE2007的界面风格,提供了丰富的文本格式化选项,以及图片、链接、表格等...
【新浪博客完整下载】是一个工具或程序,旨在帮助用户便捷地备份并导出新浪博客的内容。这个工具不仅可以保存博客文章,而且确保下载的HTML文件是完整的,不包含外部链接的图片或其他资源,而是将所有内容整合在一个...
新浪博客全自动发博文软件自动换IP需要使用动态IPvps或者本机(电脑直接与上网猫连接,中间不能连接路由器)。新浪博客帐号 软件说明: 1.本软件为试用版软件,每次使用10分钟软件会自动关闭! 2.本软件为新浪博客...
这个“新浪博客发帖 易语言源码”应该包含了一个使用易语言编写的程序,该程序的功能是允许用户通过自动化的方式在新浪博客上发布文章。 在新浪博客平台上,用户通常需要手动登录账号、打开写博页面、输入标题、...
【新浪博客采集漫游机1.0】是一款专门针对新浪博客设计的数据采集工具,它能够帮助用户高效地抓取和整理新浪博客上的信息,适用于数据分析、研究或者内容创作等多种场景。这款软件的核心功能在于它的博客漫游和博客...
新浪博客小爬虫是一种利用Python编程语言开发的网络爬虫工具,主要功能是针对新浪博客平台,自动查找并提取指定网页上的新浪博客用户网址。这个爬虫应用了多线程技术,可以提高爬取速度,同时通过日志记录功能,方便...
新浪博客是中国知名的社交媒体平台之一,允许用户创建个人博客,分享观点、生活故事和专业知识。为了提升用户体验,新浪提供了编辑器工具,使用户能更方便地撰写和格式化博客文章。这些编辑器通常包含富文本功能,如...
在新浪博客的仿制中,可能会有文章列表的滚动加载、侧边栏的动态展示等交互效果。 JavaScript的另一大亮点是其强大的库和框架,如jQuery、React、Vue等,这些工具能够简化DOM操作,提高开发效率。在这个项目中,...
新浪博客推广工具 2.1破解版
新浪博客编辑器是一款专为新浪博客用户设计的高效、易用且功能丰富的文本编辑工具,旨在提供一个便捷的平台,让博主们能够更加方便地创作和编辑博客文章。这款编辑器采用OFFICE2007风格的界面设计,给人以熟悉而专业...
【ASP版新浪博客编辑器详解】 在互联网世界中,博客作为一种个人在线日志形式,深受广大用户的喜爱。而编辑器则是撰写博客时不可或缺的工具,它帮助用户方便地排版、插入图片和链接等。"完美ASP版新浪博客编辑器...
新浪博客自动留言v2.6是一款专为博客推广设计的网络辅助工具,它能帮助用户在新浪博客平台上高效地进行互动和自我宣传。通过自动给其他博客发布留言,这款软件可以扩大用户博客的曝光率,增加流量,提高博客的知名度...
java开发的新浪博客爬虫程序!(***普通adsl平均1小时5000篇文章的抓取速度***)高速抓取用户连接接和用户文章及照片保存到自己数据库里边的软件!有自动创建表和 连接数据库的功能!目前只写了连接mysql数据库的!这个...
新浪博客在登录自己的博客空间后,再访问其它博客,就会在对方博客首页的“访客”栏中留下自己的头像、名字和博客地址,别人点击这个头像就可以访问您的博客。由于这样来访的人,都是对您的头像或名字感兴趣的人,...
新浪博客人气王直升16级
【JS147-31新浪博客HtmlEditor在线编辑器】是一个用于新浪博客内容创作的富文本编辑器,它允许用户在网页上直接编辑HTML代码,以创建和格式化博客文章。这个编辑器集成了多种功能,使得非编程背景的用户也能方便地...
新浪博客互访软件下载地址:http://115.com/file/beo0dyy5 查看效果博客地址:http://blog.sina.com.cn/sniper2020 软件介绍: 自动访客软件是广大博主进行博客推广的辅助工具,它可以自动在最近更新的博客中添加...