Oracle笔记003
来源:互联网 发布:imovie mac 教程 编辑:程序博客网 时间:2024/06/08 13:22
14.多表查询
、多表查询的’条件’是至少不能少于表的个数减一。
select a1.ename,a1.sal,a2.dname from emp a1,dept a2 where a1.deptno=a2.deptno;
、部门名,员工名,工资,部门为10号的
select a2.dname,a1.ename,a1.sal from emp a1,dept a2 where a2.deptno=a1.deptno and a2.deptno=10;
¥¥salgrade是工资级别表
、查询员工,工资及其工资级别
select a1.ename,a1.sal,a2.grade from emp a1,salgrade a2 wherea1.sal between a2.losal and a2.hisal;
、显示雇员名,雇员工资及其所在部门的名字,并按部门排序。
select a1.ename,a2.dname,a1.sal from emp a1,dept a2 where a1.deptno=a2.deptno order by a1.deptno;
、☆自连接☆显示FORD的名字和起上司的名字;
select worker.ename,boss.ename fromemp worker,emp boss whereworker.mgr=boss.empno and worker.ename='FORD';
、子查询是指嵌入在其他sql语句中的select语句也叫嵌套查询
1)单行子查询
单行子查询是指只返回一行数据的子查询语句
请思考:如何显示smith同一部门的员工
select * from emp where deptno = (select deptno from emp where ename ='SMITH');//注意引号里面要区分大小写。
2)多行子查询
指返回多行数据的子查询
//distinct 使返回的数据不重复
如何查询和部门10的工作相同的雇员的名字、岗位、工资和in
select * from emp where jobin (select distinct job from emp where deptno=10);
如何显示工资比部门30的所有员工的工资高的员工的姓名、工资和部门号all
select ename,sal,deptno from emp where sal>all(select sal from emp where deptno =30);
如何显示工资比部门30的任意员工的工资高的员工的姓名、工资和部门号any
select ename,sal,deptno from emp where sal>any(select sal from emp where deptno =30);
3)多列子查询
单行子查询是指子查询只返回单列、单行数据,多行子查询是指返回单列多行数据,都是针对单列而言的,而多列子查询则是指返回多个列数据的子查询语句
请思考如何查询与smith的部门和岗位完全相同的所有雇员。
笨方法:select * from emp where deptno=(select deptno from emp where ename='SMITH') and job=(select job from emp where ename='SMITH');
精方法:select * from emp where (deptno,job)=(select deptno,job from emp where ename='SMITH');
4)在from子句中使用子查询
- Oracle笔记003
- Oracle笔记
- Oracle笔记
- oracle笔记
- Oracle 笔记!
- oracle笔记
- oracle 笔记
- ORACLE笔记
- oracle笔记
- ORACLE笔记
- oracle 笔记
- oracle笔记
- Oracle笔记
- Oracle笔记
- oracle笔记
- oracle笔记
- oracle 笔记
- Oracle 笔记
- java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: Failed to start com
- Windows核心编程 第四章 进程(上)
- ### ffmpeg android 移植 裁剪
- 在Servlet中,取得application
- poj 1182
- Oracle笔记003
- [bzoj1037][ZJOI2008]生日聚会Party
- LightOJ 1138 Trailing Zeroes (二分+阶乘分解+思维)
- C#关于For循环break,goto,return的应用
- API测试自动化
- rtp 解包h264
- Codeforces Round #368 (Div. 2) C Pythagorean Triples(构造勾股数)
- 3. Longest Substring Without Repeating Characters(难,重要)
- win7 caffe使用笔记——计算图像均值