SQL99标准,也称为SQL1999标准
分类:内连接,外连接
一、内连接
使用 inner join ...on
语法:
select 列名1 别名1,列名2 别名2...
from 表名1 别名1 inner join 表名2 别名2 on 多表间的关联关系
where 条件
order by 排序1 asc|desc,排列2 asc|desc....;
查询雇员编号、雇员姓名、工资、部门名称
select e.empno,e.ename,e.sal,d.dname
from emp e inner join dept d on e.deptno = d.deprno;
查询工资大于1500的雇员姓名、工资、部门名称、领导名称
select e.ename, e.sal, d.dname, m.ename
from emp e inner join dept d on e.deptno = d.deptno inner join emp m on e.mgr = empno
where e.sal>1500;
二、外连接
左外连接 left outer join....on,也称为左连接 left join...on
以左边的表作为主表,无论右边的表是否可以匹配到都显示主表中的数据
语法
select 列名1 别名1,列名2 别名2...
from 表名1别名1 left join 表名2 别名2 on 多表的关联关系
where 条件
order by 排序列1 asc|desc,排序列2 asc|desc...;
举例:
查询雇员姓名、工资、领导姓名、领导工资(有的雇员没有领导)
select e.ename,e.sal,m.name,m.sal
from emp e left join emp m on e.mgr = m.empno;
右外连接 right outer join...on 也称为 right join...on
以右边的表为主表,无论如何都会显示主表中的所有数据
查询雇员姓名、工资、领导姓名、领导工资(有的雇员没有领导)
select e.ename,e.sal,m.name,m.sal
from emp m left join emp e on e.mgr = m.empno;