Oracle_SQL99_连接查询
Oracle_SQL99_连接查询
交叉连接 cross join |
--交叉连接 cross join
--作用:产生两个表的笛卡尔积
select * from emp cross join dept;
select * from emp cross join dept where emp.deptno = dept.deptno; |
自然连接 natural join |
--自然连接 natural join,类似于SQL92中的等值连接
--自然连接不允许在参照列上使用表名或者别名作为前缀
select * from emp natural join dept;
--using连接,用于指定进行等值连接的列名
--using中不允许使用表名或表的别名修饰
--join单独使用就是内连接的意思,可以省略inner
select * from emp inner join dept using(deptno); |
on 子句 |
--查询员工的姓名,职位,薪资,薪资等级
--on子句:用于指定连接条件
select e.ename, e.job, e.sal, s.grade from emp e
join salgrade s
on e.sal between s.losal and s.hisal; --查询员工的编号,姓名,部门名称,薪资等级
select e.empno, e.ename, d.dname, s.grade
from emp e
join dept d on e.deptno = d.deptno
join salgrade s on e.sal between s.losal and s.hisal;
select e.empno, e.ename, d.dname, s.grade
from emp e
natural join dept d
join salgrade s on e.sal between s.losal and s.hisal;
select e.empno, e.ename, d.dname, s.grade
from emp e
join dept d using(deptno)
join salgrade s on e.sal between s.losal and s.hisal; |
自然连接 |
--自连接
--查询员工的编号,姓名,领导的编号,领导的姓名
select e1.ename, e2.empno, e2.ename from emp e1
join emp e2
on e1.mgr = e2.empno(+); |
--SQL99外连接 outer join
--左外连接(left outer join)
--右外连接(right outer join)
--满外连接(full outer join) |
select * from emp;
select e1.empno, e1.ename, e1.mgr, e2.ename from emp e1
left outer join emp e2
on e1.mgr = e2.empno;--左外连接,显示左边表的全部行
select * from emp;
select e1.empno, e1.ename, e1.mgr, e2.ename from emp e1
right outer join emp e2
on e1.mgr = e2.empno;--右外连接,显示右边表的全部行
select * from emp;
select e1.empno, e1.ename, e1.mgr, e2.ename from emp e1
full outer join emp e2
on e1.mgr = e2.empno;--满外连接,显示两个表的全部行 |
Oracle_SQL99_连接查询的更多相关文章
- MySQL8:连接查询
连接查询 连接是关系型数据库模型的主要特点. 连接查询是关系型数据库中最主要的查询,主要包括内连接.外连接等通过联结运算符可以实现多个表查询. 在关系型数据库管理系统中,表建立时各种数据之间的关系不必 ...
- SQL多表连接查询(详细实例)
转载博客:joeleo博客(http://www.xker.com/page/e2012/0708/117368.html) 本文主要列举两张和三张表来讲述多表连接查询. 新建两张表: 表1:stud ...
- Mysql联合,连接查询
一. 联合查询 UNION, INTERSECT, EXCEPT UNION运算符可以将两个或两个以上Select语句的查询结果集合合并成一个结果集合显示,即执行联合查询.UNION的语法格式为 ...
- Oracle学习笔记五 SQL命令(三):Group by、排序、连接查询、子查询、分页
GROUP BY和HAVING子句 GROUP BY子句 用于将信息划分为更小的组每一组行返回针对该组的单个结果 --统计每个部门的人数: Select count(*) from emp group ...
- SQL多表连接查询
SQL多表连接查询 本文主要列举两张和三张表来讲述多表连接查询. 新建两张表: 表1:student 截图如下: 表2:course 截图如下: (此时这样建表只是为了演示连接SQL语句,当然实际 ...
- mysql的查询、子查询及连接查询
>>>>>>>>>> 一.mysql查询的五种子句 where(条件查询).having(筛选).group by(分组). ...
- oracle(sql)基础篇系列(二)——多表连接查询、子查询、视图
多表连接查询 内连接(inner join) 目的:将多张表中能通过链接谓词或者链接运算符连接起来的数据查询出来. 等值连接(join...on(...=...)) --选出雇员的名字和雇员所 ...
- Sql Server系列:多表连接查询
连接查询是关系数据中最主要的查询,包括内连接.外连接等.通过连接运算符可以实现多个表查询.内连接查询操作列出与连接条件匹配的数据行,它使用比较运算符比较被连接列的列值.SQL Server中的内连接有 ...
- SubSonic3.0使用外连接查询时查询不出数据的问题修改
今天在开发时,要使用到外连接查询,如图 老是查不出数据,所以就追踪了一下代码,发现查询后生成的SQL语句变成了内连接了,真是晕 然后继续Debug,发现原来SqlQuery类在调用LeftInnerJ ...
随机推荐
- C# winForm资源文件实现多语言切换
这是我目前看到过最简单的多语言切换了 操作步驟 介面上的多語 Step1.將表單的Localizable屬性設為True Step2.切換表單的Language屬性為欲使用的語系 設完後會在分頁標籤上 ...
- 在Ubuntu下安装OpenJDK的方法
最近在看<深入理解Java虚拟机>就想试一下在ubuntu下安装一个自己的虚拟机,说实话还是废了些功夫的. 首先我的ubuntu版本是Ubuntu 14.04.5, 于是我就去OpenJD ...
- python打开一个本地目录文件路径
os.path.abspath()os 模块为 python 语言标准库中的 os 模块包含普遍的操作系统功能.主要用于操作本地目录文件.path.abspath()方法用于获取当前路径下的文件. 比 ...
- Kotlin——最详细的操作符与操作符重载详解(上)
本篇文章为大家详细的介绍Koltin特有的操作符重载.或许对于有编程经验的朋友来说,操作符这个词绝对不陌生,就算没有任何编辑基础的朋友,数学中的算数运算符也绝不陌生.例如(+.-.*./.>.& ...
- Linux 多线程下载工具:axel
wget 应该是最常用的下载工具了,但是其不支持多线程下载. axel 安装 epel 源有 axel 的二进制包,可以使用 yum 安装. yum install epel-release yum ...
- sqlserver资源
1.数据库“高可用性”和“灾难恢复”技术 参考: niyi0318的专栏
- Go使用flag包开发命令行工具
flag包是Go语言标准库提供用来解析命令行参数的包,使得开发命令行工具更为简单 常用方法 1.flag.Usage 输出使用方法,如linux下ls -h的帮助输出 2.flag.Type(参数名, ...
- 180114 用装饰器实现在不改变函数调用者的代码基础上,实现在函数执行前后分别打印"before" 和 "after"
def bef_aft(func): #定义一个名为bef_aft的函数名 ,()里的是函数的参数,设置为func, 函数的参数分为实参和形参,有个参数传递的概念 ,下面有很多的解释 def PRin ...
- JavaScript基础知识(正则表达式、字符串)
23.正则表达式 作用:定义一个特定的验证字符串内容规则的表达式 注:正则表达式并不是JavaScript独有的:JavaScript支持正则表达式 var a = { }; // 定义一个空对象 ...
- Django---->视图(View)
视图层之路由配置系统(views) URL配置(URLconf)就像Django 所支撑网站的目录.它的本质是URL与要为该URL调用的视图函数之间的映射表:你就是以这种方式告诉Django,对于这个 ...