动力节点旗下在线教育品牌  |  咨询热线:400-8080-105 学Java全栈,上蛙课网
首页 > 文章

SQL连接查询案例分析

08-26 16:38 89浏览
举报 T字号
  • 大字
  • 中字
  • 小字

在前面的文章中介绍了SQL连接查询的相关知识,因为java编程最重要的还是会实践操作,所以有了前面理论知识的学习后,现在这篇文章来讲讲具体的操作,对SQL连接查询案例进行说明介绍,下面就是SQL连接查询案例,列举SQL连接查询七大案例的分析,一起学习

1. 查询每一个员工所在的部门名称,要求最终显示员工姓名和对应的部门名称

Note:多张表查询时,通常会对表起别名,若两张表中有相同名称的字段时,该相同名称字段不知道属于哪张表中,这时需要通过对表起别名来限制该字段属于哪张表,并且提高SQL语句的效率,可读性也高。

思路分析:Step 1:先查询出员工姓名和部门编号;emp 员工表

Step 2:再查询出部门编号和部门名称;dept 部门表

select e.ename,d.dname from emp e,dept d;预测查询结果:

验证结果:

结论:为了避免笛卡尔积现象的发生,必须在进行表连接的时候添加限制条件。

2.找出每一个员工对应的工资等级,要求显示员工姓名、工资、工资等级:查询出员工的姓名、工资

查询出工资等级信息

SQL92 语法:

select e.ename,e.sal,s.grade from emp e , salgrade s

where e.sal between s.losal and s.hisal;

SQL99 语法:内连接中的非等值连接

select e.ename,e.sal,s.grade from emp e inner join

salgrade s on e.sal between s.losal and hisal;

select e.ename,e.sal,s.grade from emp e join salgrade

s on e.sal between s.losal and hisal; //inner 可以省略

3.找出每一个员工的上级领导,要求显示员工姓名及对应的领导姓名:查询出员工编号、员工名称、领导编号

查询出领导姓名、领导编号

SQL92 语法:

select a.ename empname,b.ename leadername from

emp a,emp b

where a.mgr = b.empno;

SQL99 语法:内连接中的自连接

select a.ename empname ,b.ename leadername from

emp a inner join emp b

on a.mgr = b.empno;

select a.ename empname ,b.ename leadername from

emp a join emp b

on a.mgr = b.empno;//inner 可以省略

4.找出每一个员工对应的部门名称,要求部门名称全部显示:先查询出每一个员工对应的部门名称;

查询部门信息;

SQL99 语法:外连接中的右外连接【右连接】

select e.ename,d.dname from emp e right outer join

dept d on e.deptno = d.deptno;

select e.ename,d.dname from emp e right join dept d

on e.deptno = d.deptno;

//outer 可省略

SQL99 语法:外连接中的左外连接【左连接】

select e.ename,d.dname from dept d left outer join

emp e on e.deptno = d.deptno;

select e.ename,d.dname from dept d left join emp e

on e.deptno = d.deptno;

//outer 可省略

Note:任何一个右外连接都可写成左外连接,任何一个左外连接都可写成右外连接;

为什么inner和outer可以省略,加上去有什么好处?答:可以省略,因为区分内连接与外连接不是依靠这两个关键字,而是看SQL语句中的left/right关键字;加上left、right关键字增强SQL语句的可读性。

6. 找出每一个员工对应的领导名,要求显示所有员工:

显示每一个员工对应的领导名

SQL99 语法:

select a.ename empname ,b.ename leadername from

emp a left join emp b

on a.mgr = b.empno;

7. 找出每一个员工对应的部门名称,以及该员工对应的工资等级,要求显示员工姓名、部门名、工资等级:

查询出员工对应的部门编号和工资

查询出部门信息

查询出工资等级信息

以上就是SQL连接查询案例的说明,相信通过前面对SQL连接查询的分类和使用依据的理论知识的学习,加上今天的七个SQL连接查询案例的介绍,java零基础入门不久的新手朋友们也可以学会SQL连接查询的操作。希望大家在平时空余时间内可以学习相关java培训课程并自己多多练习,逐步提高自身的java编程水平。

0人推荐
共同学习,写下你的评论
0条评论
代码小兵1123
程序员代码小兵1123

6篇文章贡献24102字

作者相关文章更多>

推荐相关文章更多>

MySQL开发规范

达芬奇09-04 11:38

必须掌握的30种SQL语句优化

不写代码你养我啊08-23 11:30

ES(Elasticsearch)支持PB级全文搜索引擎入门教程

HelloWorld09-29 17:28

Java面试中的hadoop面试题及答案整理

兔子06-15 17:15

数据库分类之速成篇

呵呵呀06-17 18:54

发评论

举报

0/150

取消