内连接

2.5、内连接之等值连接

  案例:查询每个员工所在部门名称,显示员工名和部门名?

  emp e 和 dept d表进行连接。条件是:e.deptno = d.deptno

  SQL92语法:

  select e.ename, d.dname from emp e,dept d where e.deptno = d.deptno 如果有and 后面加条件;结构不清晰 

  SQL99语法:(inner可以省略,内连接)

  select e.ename d.dname from emp e inner join dept d on e.deptno = d.deptno; //优点:表连接条件独立的

  select...from....join...on...where...

2.6、内连接之非等值连接

  案例:找出每个员工的薪资等级,要求显示员工名、薪资、薪资等级?

  select * from emp;

  select e.ename,e.sal,s.grade from emp e inner join salgrade s on e.sal between s.losal and s.hisal;//条件不是一个等量关系,非等值连接

2.6、内连接之自连接

  案例:查询员工的上级领导,要求显示员工名和对应的领导名?

  select * from empno,ename,mgr from emp;

  技巧:一张表看成两张表

  select a.ename as '员工名',b.ename as '领导名' from emp a join emp b on a.mgr = b.empno; //KING是NULL所以是13条数据

  以上就是内连接中的:自连接,技巧:一张表看做两张表

内连接的特点:

  完成能够匹配上这个条件的数据查询出来

  

posted @ 2022-01-22 12:34  doremi429  阅读(101)  评论(0编辑  收藏  举报