SQL实验四 连接查询和嵌套查询

业：计算机科学与技术专业          班级学号： B042121

名：张坤

1.列出至少有一个雇员的所有部门

select deptno ,dname from dept where deptno in

( select distinct deptno from emp);

2.列出薪金比'SMITH'多的所有雇员.

select * from emp where sal>

(select sal from emp where ename='SMITH');

3.列出所有雇员的姓名及其上级的姓名.

select a.ename "雇员",b.ename "上级" from emp a,emp b

where a.mgr=b.empno;

4.列出入职日期早于其直接上级的所有雇员.

select * from emp x where hiredate>

(select hiredate from emp where x.mgr=empno);

select * from emp a,emp b

where a.hiredate>b.hiredate and a.mgr=b.empno;

5.列出部门名称和这些部门的雇员,同时列出那些没有雇员的部门

select b.deptno,b.dname,a.ename from emp a,dept b

where a.deptno(+)=b.deptno;

6.列出所有'CLERK'的姓名及其部门名称.

select a.ename,b.dname from emp a,dept b

where a.deptno=b.deptno and a.job='CLERK';

7.列出各种类别的最低薪金，以使最低薪金大于1500

select job, min(sal) from emp

group by job

having min(sal) > 1500;

8.列出各种类别"SALES"工作的雇员的姓名，假定不知道销售部的部门编号.

select ename from emp

where job like 'SALES';

9.列出薪金高于公司平均水平的所有雇员.

select ename from emp

where sal >(

select avg(sal) from emp);

10.列出与"SCOTT"从事相同工作的所有雇员.

select * from emp

where job=

(select job from emp where ename='SCOTT');

or

select * from emp

where job in

(select job from emp where ename='SCOTT');

11.列出薪金等于给予在部门30工作的雇员的薪金的雇员的所有姓名和薪金

select * from emp

where sal in

(select sal from emp where deptno=30);

12.列出薪金高于在部门30工作的所有雇员的薪金的雇员的姓名和薪金.

select * from emp

where sal>all

(select sal from emp where deptno=30);

or

select * from emp

where sal>

(select max(sal) from emp where deptno=30);

13.列出在每个部门工作的雇员的数量以及其他信息.

select b.deptno,b.dname,count(a.ename) from emp a,dept b

where a.deptno(+)=b.deptno

group by b.deptno,b.dname;

14.列出所有雇员的雇员名称、部门名称和薪金.

select a.ename,b.dname,a.sal from emp a,dept b

where a.deptno=b.deptno;

15.列出从事同一种工作但属于不同部门的雇员的不同组合.

select a.deptno,a.job,b.deptno,b.job from emp a,emp b

where a.deptno<>b.deptno and a.job=b.job ;

16.列出分配有雇员数量的所有部门的详细信息,即使是分配有0个雇员.

select * from dept;

or

select * from dept

where  exists(select distinct deptno from emp )

17.列出各种类别工作的最低工资.

select job,min(sal) from emp group by job;

18.列出各个部门MANAGER的最低薪金.

select deptno,min(sal) from emp

where job='MANAGER'

group by deptno ;

19.列出按计算的字段排序的所有雇员的年薪.

select ename "姓名",sal*12 "年薪" from emp

order by sal*12;

20.列出薪金水平处于第四位的雇员.

待解决中.......

• 本文已收录于以下专栏：

SQL中的连接查询与嵌套查询

• CCSUXWZ
• 2017年04月13日 23:09
• 5110

数据库 - 连接查询、嵌套查询、集合查询

• wangzi11322
• 2015年05月05日 13:32
• 8905

oracle sql 多表 嵌套子查询 连接查询， join where exist in 的区别

sql中exits和in的区别 转:http://hi.baidu.com/delphi_relive/blog/item/d7c0034a49c4932208f7ef21.html in 和...
• wguoyong
• 2011年11月12日 17:02
• 13476

sql嵌套查询和多表联合查询之间的差别

sql语句多表嵌套查询和多表关联查询的差别
• keke921231
• 2017年01月18日 11:16
• 3307

sql:内链接，外链节，嵌套查询，子查询说明

1      常用Sql查询   表A和表B要做关联查询： 表A当成主查询表：查询记录主体从主查询表出 表B关联表   1.1     内链接关联查询：   如果表A和表B有一个外键关联 ，可以通过外...
• zhao13083837081
• 2016年10月12日 15:28
• 552

SQL语句，多表查询，连接查询，嵌套查询，集合操作，有IN谓词，有比较运算符，有ANY\EXIST谓词的查询

---查询每个学生及选修课程的情况 SELECT S.*,SC.*  FROM S,SC WHERE S.SNO=SC.SNO; ---查询每个学生及选修课程，这个是用自然连接弄的，结果同上 ...
• li603060971
• 2015年12月27日 11:10
• 1121

子查询和关联查询 效率

MSDN对子查询的定义是这样的:      可以将一个查询的结果用作另一个查询的输入。可以将子查询的结果用作使用 IN( ) 函数、EXISTS 运算符或 FROM 子句的语句。   ...
• luckarecs
• 2011年12月30日 16:16
• 10292

Oracle连接查询，子查询(相关子查询，嵌套子查询)

1，Demo连接查询   --======================================================== --ylb：Oracle ...
• revenco_li
• 2017年03月28日 15:02
• 1295

Elasticsearch 连接查询

• shuyun123456789
• 2016年12月30日 12:04
• 980

SQL左连接查询和又连接查询的区别

1.内连接查询操作列出与连接条件匹配的数据行，它使用比较运算符比较被连接列的 列值。内连接分三种： 　1>、等值连接：在连接条件中使用等于号(=)运算符比较被连接列的列值，其查询结       ...
• u010842007
• 2016年03月16日 14:56
• 419

举报原因： 您举报文章：SQL实验四 连接查询和嵌套查询 色情 政治 抄袭 广告 招聘 骂人 其他 (最多只允许输入30个字)