首页 > 解决方案 > 如何使用完全连接操作获得左连接的输出?

问题描述

如何使用完全连接操作获得左连接的输出?

标签: sql

解决方案


创建表部门(部门
编号(2,0),
dname varchar2(14),
loc varchar2(13),
约束pk_dept主键(deptno)

创建表 emp(
empno number(4,0),
ename varchar2(10),
job varchar2(9),
mgr number(4,0),
hiredate date,
sal number(7,2),
comm number(7,2) ,
deptno number(2,0),
约束 pk_emp 主键 (empno),
约束 fk_deptno 外键 (deptno) 引用 dept (deptno
)

插入DEPT(DEPTNO,DNAME,LOC)
值(20,'RESEARCH','DALLAS')插入DEPT(DEPTNO,DNAME,LOC)
值(30,'SALES','CHICAGO')插入DEPT(DEPTNO, DNAME, LOC) values(40, 'OPERATIONS', 'BOSTON') select*from dept;

插入 emp
值(
7839,'KING','PRESIDENT',null,
to_date('17-11-1981','dd-mm-yyyy'),
5000,null,10

插入 emp
值(
7698、'BLAKE'、'MANAGER'、7839、
to_date('1-5-1981'、'dd-mm-yyyy')、
2850、null、30

插入 emp
值(
7782、'CLARK'、'MANAGER'、7839、
to_date('9-6-1981'、'dd-mm-yyyy')、
2450、null、10

插入emp
值(
7566,'JONES','MANAGER',7839,
to_date('2-4-1981','dd-mm-yyyy'),
2975,null,20
)插入emp
值(
7788,' SCOTT', 'ANALYST', 7566,
to_date('13-JUL-87','dd-mm-rr') - 85,
3000, null, 20
) 插入 emp
值(
7902, 'FORD', 'ANALYST' , 7566,
to_date('3-12-1981','dd-mm-yyyy'),
3000, null, 20
)

插入emp
值(
7369,'SMITH','CLERK',7902,
to_date('17-12-1980','dd-mm-yyyy'),
800,null,20
)插入emp
值(
7499,' ALLEN', 'SALESMAN', 7698,
to_date('20-2-1981','dd-mm-yyyy'),
1600, 300, 30
) 插入 emp
值(
7521, 'WARD', 'SALESMAN', 7698 ,
to_date('22-2-1981','dd-mm-yyyy'),
1250, 500, 30
)

输出: select *from dept full join emp on dept.DEPTNO=emp.DEPTNO where dept.DEPTNO=emp.DEPTNO union select *from dept full join emp on dept.DEPTNO=emp.DEPTNO where emp.DEPTNO 为空;


推荐阅读