oracle 内连接、外连接、自然连接、交叉连接练习
oracle 内连接、外连接、自然连接、交叉连接练习
--查询员工信息
select * from emp;
--查询部门信息
select * from dept;
--需求:查询员工姓名、薪资和所在部门名称、部门编号
--1.使用交叉连接(笛卡尔积)14条记录
select ename,sal,dname,dept.deptno from emp,dept where emp.deptno=dept.deptno;
select ename,sal,dname,d.deptno from emp e,dept d where e.deptno=d.deptno;
--2.使用内连接(表1 inner join 表2 on 2个表连接条件)
select ename,sal,dname,d.deptno from emp e inner join dept d on e.deptno=d.deptno
select ename,sal,dname,d.deptno from emp e join dept d on e.deptno=d.deptno
select ename,sal,dname,deptno from emp e join dept d using(deptno)
--3.使用外连接(表1 outer join 表2 on 2个表连接条件)
--(1)左外连接 left 左表为基表(主),匹配表(从),主表的记录为主,从表没有匹配的记录以null值填充
select ename,sal,dname,d.deptno from emp e left outer join dept d on e.deptno=d.deptno
select ename,sal,dname,d.deptno from dept d left outer join emp e on e.deptno=d.deptno
select ename,sal,dname,d.deptno from emp e ,dept d where e.deptno(+)=d.deptno
--(2)右外连接 right outer join 右表为基表,左表为匹配表
select ename,sal,dname,d.deptno from emp e right outer join dept d on e.deptno=d.deptno
--(3)全外连接full outer join,都可以当成主表,表1有的数据表2没有,表2就用null填充,表2有的数据表1,表1用null填充
select ename,sal,dname,d.deptno from emp e full outer join dept d on e.deptno=d.deptno
--4.自然连接(类似内连接) natural join,默认找寻2个表当中相同的字段
select ename,sal,dname,deptno from emp e natural join dept d
--查询员工上司的名字,显示员工的姓名及其经理的姓名
--5.自连接
select e1.ename 员工姓名,e2.ename 经理姓名 from emp e1,emp e2 where e1.mgr=e2.empno
oracle 内连接、外连接、自然连接、交叉连接练习的更多相关文章
- Oracle内链接+外连接详解
inner join(内连接) 内连接也称为等同连接,返回的结果集是两个表中所有相匹配的数据,而舍弃不匹配的数据.也就是说,在这种查询中,DBMS只返回来自源表中的相关的行,即查询的结果表包含的两源表 ...
- sql之表连接 筛选条件放在 连接外和放在连接里的区别
使用一个简单的例子,说明他们之间的区别 使用的表:[Sales.Orders]订单表和[Sales.Customers]客户表,和上一篇博客的表相同 业务要求:查询出 : 所有的用户 在 2012-1 ...
- mysql,SQL标准,多表查询中内连接,外连接,自然连接等详解之查询结果集的笛卡尔积的演化
先附上数据. CREATE TABLE `course` ( `cno` ) NOT NULL, `cname` ) CHARACTER SET utf8 NOT NULL, `ctime` ) NO ...
- 知识点:Oracle+表连接方式(内连接-外连接-自连接)+详解 来自百度文库
Oracle 表之间的连接分为三种: 1. 内连接(自然连接) 2. 外连接 (1)左外连接 (左边的表不加限制) (2)右外连接(右边的表不加限制) (3)全外连接(左右 ...
- 转 SQL连接查询语句(内、外、交叉和合并查询)
转 http://blog.csdn.net/u010011371/article/details/50596535 1.内连接 (INNER JOIN) 内连接也称自然连接,它是根据两个或多个表中的 ...
- oracle连接总结(内连接、外连接、自然连接,交叉连接,自连接)
1.简述 1) 两个表的连接,是通过将一个表中的一列或者多列同另一个表中的列链接而建立起来的.用来连接两张表的表达式组成了连接条件.当连接成功后,第二张表中的数据就同第一张表连接起来了,并形成了复合 ...
- MySQL (五)--连接查询简介、 交叉连接、 内连接、外连接、自然连接、温馨小提示
1 连接查询简介 将多张表(可以大于2)进行记录的连接(按照某个指定的条件进行数据拼接). 最终结果:记录数可能会有变化,字段书一定会增加(至少两张表的合并). 连接查询:join,使用方式:左表 j ...
- sql ,内连接,外连接,自然连接等各种连接
1.内联接(典型的联接运算,使用像 = 或 <> 之类的比较运算符).包括相等联接和自然联接. 内联接使用比较运算符根据每个表共有的列的值匹配两个表中的行.例如,检索 students和c ...
- sql 内连接、外连接、自然连接等各种连接
1.内联接(典型的联接运算,使用像 = 或 <> 之类的比较运算符).包括相等联接和自然联接. 内联接使用比较运算符根据每个表共有的列的值匹配两个表中的行.例如,检索 students和c ...
随机推荐
- grafana模板
1.安静了这么久,换了一家公司,还有过年,去了上海,去了苏州,去了杭州,认识了一个人,跟老司机他们一起学k8s,所以很累很累,这是监控,也是在老司机的帮助下熟悉使用,3q!
- Socket初识2
一.Socket一些概念 sk = socket.socket(socket.AF_INET,socket.SOCK_STREAM,0) 1.1 参数1:Socket Families(地址簇) / ...
- python--生成器协程运算
生成器 一.yield运行方式 我们定义一个如下的生成器: def put_on(name): print("Hi {}, 货物来了,准备搬到仓库!".format(name)) ...
- HTML常用标签-手打抄录-来自-烟雨飘零-拜谢
HTML常用标签及其全称 <a href="#">a 超级链接(anchor)</a> <abbr title="abbreviati ...
- 洛谷 P2345 奶牛集会
https://www.luogu.org/problem/show?pid=2345 题目描述 约翰的N 头奶牛每年都会参加“哞哞大会”.哞哞大会是奶牛界的盛事.集会上的活动很 多,比如堆干草,跨栅 ...
- spfa+剪枝 或者 dij+手写堆+剪枝 UOJ 111
http://uoj.ac/problem/111 好像NOIP里面的题目...有好多都是...能通过xjbg剪枝来...AC题目的? 得好好学一下这些剪枝黑科技了... 思路:我觉得这位大佬说的很完 ...
- Uva5211/POJ1873 The Fortified Forest 凸包
LINK 题意:给出点集,每个点有个价值v和长度l,问把其中几个点取掉,用这几个点的长度能把剩下的点围住,要求剩下的点价值和最大,拿掉的点最少且剩余长度最长. 思路:1999WF中的水题.考虑到其点的 ...
- amcharts的一些用法
function chartdiv2() { var chart; var chartData = [ { "month" : "2015-08", " ...
- 引用类型 ( 对象定义 )——RegExp 类型
var expression = /pattern/flags; 以上为创建正则表达式格式,斜线包围的为正则表达式,flags 有三个值可以选择 本文地址:http://www.cnblogs.com ...
- L - Looking for Taste Gym - 101991L 二进制枚举/思维
方法一:因为最多是10的六次方,所以可以直接枚举二进制上的每一位来得到最优结果. AC代码: #include<iostream> #include<stack> #inclu ...