Oracle 自连接 / 外连接 / 子查询
--连接查询的三种格式
select ename, deptno,dname from emp natural join dept;
select ename, deptno,dname from emp join dept using(deptno);
select emp.ename, emp.deptno,dept.dname from emp join dept on emp.deptno!=dept.deptno; --自连接,将一张表当成两张表来看待
select e.ename,m.ename from emp e join emp m on e.mgr= m.empno --外连接right outer join/Left outer join/full outer join
select ename,d.deptno,d.dname
from emp right outer join dept d on emp.deptno= d.deptno --连接更多表
select ename,dname,grade
from emp join dept on emp.deptno=dept.deptno
join salgrade on sal BETWEEN losal and hisal; ---------------------------------------------------------------------子查询
--单行子查询:子查询返回一行
select * from emp where sal>(select avg(sal)from emp); --多行子查询:子查询返回多行 ANY(任意) ALL(所有) IN(在里面)
select * from emp where sal>all(select avg(sal)from emp group by deptno); --[not] exists 判断是否行存在
select ename,mgr
from emp e where EXISTS(select 1 from emp where e.empno=mgr);
Oracle 自连接 / 外连接 / 子查询的更多相关文章
- mysql数据库中的多表查询(内连接,外连接,子查询)
用两个表(a_table.b_table),关联字段a_table.a_id和b_table.b_id来演示一下MySQL的内连接.外连接( 左(外)连接.右(外)连接.全(外)连接). MySQL版 ...
- Hibernate中用left join(左外连接)查询映射中没有关联关系的两个表记录问题
一.问题背景 分账表split_summary结构如下: create table SPLIT_SUMMARY ( uuid VARCHAR2(32) not null, star_tdate VAR ...
- sql 内连接 子查询 合并查询
-- 内连接:-- 显示员工姓名.工资和公司所在地 select e.ename, e.sal, d.dname from emp e,dept d; -- 笛卡尔积 select e.ename, ...
- .Net程序员学用Oracle系列(14):子查询、集合查询
1.子查询 1.1.子查询简介 1.2.WITH 子查询 2.集合查询 2.1.UNION 和 UNION ALL 2.2.MINUS 2.3.INTERSECT 2.4.集合运算与 ORDER BY ...
- oracle 之 统计函数、子查询、操作符
统计函数 COUNT():查询表中的数据记录 AVG():求出平均值 SUM():求和 MAX():求出最大值 MIN():Q求出最小值 子查询 [单行多列] select * from a wh ...
- Oracle系列八 高级子查询
子查询 子查询 (内查询) 在主查询执行之前执行 主查询(外查询)使用子查询的结果 多列子查询 主查询与子查询返回的多个列进行比较 多列子查询中的比较分为两种: 成对比较 问题:查询与141号或174 ...
- Oracle SQL外连接
SQL提供了多种类型的连接方式,它们之间的区别在于:从相互交叠的不同数据集合中选择用于连接的行时所采用的方法不同.连接类型 定义内连接 只连接匹配的行左外连接 ...
- Oracle 左外连接的一些測试
为了更加深入左外连接,我们做一些測试,外连接的写法有几种形式,我们能够通过10053跟踪到终于SQL转换的形式. --初始化数据 create table A ( id number, age ...
- Oracle学习(六):子查询
1.知识点:能够对比以下的录屏进行阅读 SQL> --子查询所要解决的问题:问题不能一步求解 SQL> --查询工资比SCOTT高的员工信息 SQL> --(1)使用普通方法 SQL ...
随机推荐
- C#自定义控件:WinForm将其它应用程序窗体嵌入自己内部【转载】
这是最近在做的一个项目中提到的需求,把一个现有的窗体应用程序界面嵌入到自己开发的窗体中来,看起来就像自己开发的一样(实际上……跟自己开发的还是有一点点区别的,就是内嵌程序和宿主程序的窗口激活状态问题) ...
- (转)如何在JavaScript与ActiveX之间传递数据2
本文研究如何在JS等脚本语言与ActiveX控件之间通信,如何传递各种类型的参数,以及COM的IDispatch接口.使用类似的方法,可以推广到其他所有脚本型语言,如LUA,AutoCad等.本文将研 ...
- C#中Strings VS. StringBuilder
string mappingHandler = String.Format(@"""[name='BTSHTTPReceiveModule',path='BTSHTTPR ...
- 取得root权限后怎么删除程序
不知道这个算什么教程,随便一个分类吧,管理员不要扣我分啊,我也是为大家服务嘛,不对的话可以帮我处理下) 最近也学习了下,把我的X8(国行2.1版)给root了,怎么root,论坛里有很多帖子,这里就不 ...
- Config
Config Config App Auth Cache Database Languages Mail Modules Routing Session Config Settings for the ...
- linux实例 批量修改图片文件名
1.如10.11一批这样的目录,10.11 10.12等等 然后里面的图片.jpg文件要修改成对应的日期.jpg,也就是说 编程1011.jpg这样的文件名 示例如下: #!/bin/bashfor ...
- Java基础知识强化之网络编程笔记19:Android网络通信之 HttpClient和传统Post、Get方式的区别
1. HttpClient是什么 ? HTTP 协议可能是现在 Internet 上使用得最多.最重要的协议了,越来越多的 Java 应用程序需要直接通过 HTTP 协议来访问网络资源.虽然在 ...
- Redis & Sentinel 安装脚本
#!/bin/bash # 判断是否为root用户,不是root用户提示退出 if [[ $EUID -ne 0 ]]; then echo "This script. must be ...
- 关于egit的日常操作总结
$git fetch -p --prune -p -- remove any remote tracking branches that no longer exist remotely prune的 ...
- 关于SWT的线程问题
大部分情况下,GUI界面编程是不用考虑线程问题的,SWT已经帮助我们隐藏了底层的线程调用. 但是一些特殊应用的实现,却不得不涉及SWT线程编程.比如说当进度条的例子(以后要加上,现在还没有做,没有总结 ...