十二、内连接

一、语法

  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`;

  

 

posted @ 2019-11-12 10:40  笔心  阅读(138)  评论(0)    收藏  举报