十二、内连接
一、语法
select .....
from 表一
inner join 表二 其中inner可以省略
on 连接条件
where 筛选条件
二、内连接之等值连接 条件是等量关系
案例一:查询每个员工的部门名称,显示员工名和部门名
SELECT e.ename,d.dname
FROM emp e
INNER JOIN dept d
ON e.deptno=d.deptno;
案例二:查询名字中包含字符e的员工名和工种名
SELECT e.last_name,j.job_title
FROM employees e
INNER JOIN jobs j
ON e.job_id = j.job_id
WHERE e.last_name LIKE '%e%';
案例三:查询部门个数大于3的城市名和部门个数
SELECT l.city,d.department_id,COUNT(*)
FROM locations l
INNER JOIN departments d
ON l.`location_id` = d.`location_id`
GROUP BY l.city
HAVING COUNT(*) > 3;
案例四:查询哪个部门的员工人数大于3的部门名和员工个数,并按个数降序
SELECT department_name,COUNT(*)
FROM employees e
INNER JOIN departments d
ON e.`department_id`=d.`department_id`
GROUP BY department_name
HAVING COUNT(*)>3
ORDER BY COUNT(*) DESC;
三、内连接之非等值连接 条件是非等量关系
案例:查询员工的工资等级,要求显示员工名,工资,工资等级
SELECT e.ename,e.sal,s.grade
FROM emp e
INNER JOIN salgrade s
ON sal BETWEEN s.losal AND s.hisal;
四、内连接之自连接 一张表看做两张表,自己连接自己
查询每个员工的上级领导,要求显示员工名和对应的领导名
SELECT a.ename '员工名',b.ename '领导名'
FROM emp a
INNER JOIN emp b
ON a.`EMPNO`= b.`MGR`;

浙公网安备 33010602011771号