博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
多表查询SQL99
阅读量:4313 次
发布时间:2019-06-06

本文共 1852 字,大约阅读时间需要 6 分钟。

【1】交叉连接  cross join

select * from emp,dept;                   ---sql92select * from emp cross join dept;     ---sql99

【2】自然连接  natural join

自然连接会自动查找两张表中所有的相同的字段,进行等值连接

select * from emp e, dept d where e.deptno = d.deptno;  ---sql92 select * from emp e natural join dept d;

查询所有的员工名称,部门编号和部门名称

select e.ename,d.deptno,d.dnamefrom emp e, dept dwhere e.deptno = d.deptno;    ---sql92select e.ename, deptno, d.dnamefrom emp e natural join dept d;     ---sql99

【3】using:指定字段进行等值连接

select e.ename ,  deptno,  d.dname   --注意:deptno不区分是哪个表中的。from emp e inner join dept d     --内连接:通常inner可以省略。using(deptno);    使用using指定列名,不区分在哪个表中。

【4】on子句;用于指定连接的条件

--查询30号部门员工的编号,姓名和部门的名称select e.empno,e.ename,d.dnamefrom emp e,dept dwhere e.deptno = d.deptno;  ---sql92select e.empno,e.ename,d.dnamefrom emp e join dept d on e.deptno = d.deptnowhere d.deptno = 30;    ---sql99   --查看10部门员工姓名,薪水 和薪水等级select e.ename, e.sal, s.gradefrom emp e join salgrade son e.sal between s.losal and s.hisalwhere e.deptno = 10;     --sql99

【5】自连接

select e1.empno,e1.ename, e2.empno,e2.enamefrom emp e1 join emp e2on e1.mgr = e2.empno;   --sql99---但是注意;少了KING这个用户,所以使用外连接。

【6】外连接

外连接有三种:左外连接,右外连接,全外连接

--[6] 外连接 [outer] join   outer 可以省略 与 inner一样!--   左外连接 left  [outer] join --   右外连接 right [outer] join--   全外连接 full  [outer] joinselect  e1.empno,e1.ename,e2.empno,e2.enamefrom emp e1 left join emp e2  --e1 是可以看作员工表  e2可以看作领导表on e1.mgr = e2.empno;--查询所有部门的详细信息以及每个部门的平均工资,包含没有员工的部门select d.*,round(nvl(avg(sal),0)) avg_salfrom emp e1 right join dept d on e1.deptno = d.deptnogroup by d.deptno,d.dname,d.locorder by d.deptno;--按照部门编号排序--查询部门30员工编号,姓名,部门名称,薪水,薪水等级select e.empno,e.ename,d.dname,e.sal,s.gradefrom emp e join dept d on e.deptno = d.deptnojoin salgrade s on e.sal between s.losal and s.hisalwhere d.deptno = 30;

 

 

 

  

  

转载于:https://www.cnblogs.com/superdrew/p/8057783.html

你可能感兴趣的文章
sessionStorage
查看>>
代码示例_进程
查看>>
Java中关键词之this,super的使用
查看>>
人工智能暑期课程实践项目——智能家居控制(一)
查看>>
前端数据可视化插件(二)图谱
查看>>
kafka web端管理工具 kafka-manager【转发】
查看>>
获取控制台窗口句柄GetConsoleWindow
查看>>
Linux下Qt+CUDA调试并运行
查看>>
51nod 1197 字符串的数量 V2(矩阵快速幂+数论?)
查看>>
OKMX6Q在ltib生成的rootfs基础上制作带QT库的根文件系统
查看>>
zabbix
查看>>
多线程基础
查看>>
完美解决 error C2220: warning treated as error - no ‘object’ file generated
查看>>
使用SQL*PLUS,构建完美excel或html输出
查看>>
SQL Server数据库笔记
查看>>
X-Forwarded-For伪造及防御
查看>>
android系统平台显示驱动开发简要:LCD驱动调试篇『四』
查看>>
Android 高仿微信头像截取 打造不一样的自定义控件
查看>>
Jenkins的初级应用(1)-Publish Over SSH
查看>>
利用正则表达式群发定制邮件
查看>>