# 只有有部门的员工显示,OPERATIONS 部门不出现 mysql>select e.ename, d.dname from emp e innerjoin dept d on e.deptno=d.deptno; +--------+------------+ | ename | dname | +--------+------------+ | SMITH | RESEARCH | | ALLEN | SALES | | WARD | SALES | | JONES | RESEARCH | | MARTIN | SALES | | BLAKE | SALES | | CLARK | ACCOUNTING | | SCOTT | RESEARCH | | KING | ACCOUNTING | | TURNER | SALES | | ADAMS | RESEARCH | | JAMES | SALES | | FORD | RESEARCH | | MILLER | ACCOUNTING | +--------+------------+
# 显示SMITH的名字和部门名称 mysql>select e.ename, d.dname # 只要这两列 ->from emp e # 员工表 ->innerjoin dept d # 关联部门表 ->on e.deptno=d.deptno # 连接条件:部门号得一样 ->and e.ename='SMITH'; # 过滤条件:只要 SMITH +-------+----------+ | ename | dname | +-------+----------+ | SMITH | RESEARCH | +-------+----------+
# 效果同上左连接,只是表顺序换了 mysql>select d.dname, e.ename from emp e rightjoin dept d on d.deptno=e.deptno; +------------+--------+ | dname | ename | +------------+--------+ | ACCOUNTING | MILLER | | ACCOUNTING | KING | | ACCOUNTING | CLARK | | RESEARCH | FORD | | RESEARCH | ADAMS | | RESEARCH | SCOTT | | RESEARCH | JONES | | RESEARCH | SMITH | | SALES | JAMES | | SALES | TURNER | | SALES | BLAKE | | SALES | MARTIN | | SALES | WARD | | SALES | ALLEN | | OPERATIONS |NULL| +------------+--------+