首页 > 代码库 > Oracle中的多表查询
Oracle中的多表查询
多表查询
l 笛卡尔积: N*M
l 使用关联字段消除笛卡尔积的多余数据:
SELECT EMP.*,DEPT.DNAME,DEPT.LOC FROM EMP, DEPT WHERE EMP.DEPTNO=DEPT.DEPTNO; |
l 多表查询一定要有关联字段
SELECT E.ENAME,E.JOB,E.HIREDATE,D.DEPTNO,D.LOC FROM EMP E ,DEPT D WHERE E.DEPTNO = D.DEPTNO; |
l UNION-集合操作
UNION将两个或两个以上的查询结果合并到一个结果中,查询结果中会剔除所有重复记录。
SELECT * FROM EMP UNION SELECT * FROM EMP WHERE DEPTNO=10 ; |
UNION ALL将两个或多个查询结果放到一个结果中,保留所有记录(相对于UNION)。
SELECT * FROM EMP UNION ALL SELECT * FROM EMP WHERE DEPTNO=10 ; |
INTERSECT 求出多个结果的共有数据(交集)
SELECT * FROM EMP INTERSECT SELECT * FROM EMP WHERE DEPTNO=10 ; |
MINUS 用第一个结果减去第二个结果(差集)
SELECT * FROM EMP MINUS SELECT * FROM EMP WHERE DEPTNO = 10; |
Oracle中的多表查询
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。