定义展开目录
表和表之间的数据以纵向的方式连接在一起。之前的内连接,外连接都是以横向的方式连接在一起
例子展开目录
输出每个员工的姓名,工资,上司的姓名
- select E1.ename,E1.sal,E2.ename
- from emp E1
- join emp E2
- on E1.mgr = E2.empno
这个代码看上去没有问题,但仔细想一下,假如某个员工并没有上司,上司字段的值是 null,那他就不会出现在我们最终的查询结果中,这样好像并不好,所以我们应该想办法把上司为 null 的也加上
- select E1.ename,E1.sal,E2.ename
- from emp E1
- join emp E2
- on E1.mgr = E2.empno
- union
- select ename,sal,'没有上司' from emp where emp.mgr is null