AI智能
改变未来

MySQL学习笔记day02

#MySQL学习笔记day02

内连接

分类:
内连接:[inner] join on
外连接:
左外连接 left 【outer】 join on
右外连接 right 【outer】 join on
特点:
① 效果和等值连接是一样的!
② 表的顺序可以调换
③ 可以为表起别名
④ 可以添加筛选、分组、排序
⑤ 将筛选条件和连接条件实现了分类,提高代码的可读性
⑥ n表连接,至少需要n-1 个连接条件

#案例1:查询有奖金的员工名、部门名
SELECT last_name,department_name
FROM departments d
JOIN employees e ON e.

department_id

=d.

department_id

WHERE commission_pct IS NOT NULL;

#案例2:查询城市名、员工名和部门名
SELECT city,last_name,department_name
FROM employees e
INNER JOIN departments d ON e.

department_id

=d.

department_id

INNER JOIN locations l ON l.

location_id

=d.

location_id

;

单行子查询

#案例1:谁的工资比Abel高

#①查询Abel的工资SELECT salary FROM employeesWHERE last_name = \'Abel\'#②查询员工的信息满足工资>①的结果SELECT * FROM employeesWHERE salary>(SELECT salary FROM employeesWHERE last_name = \'Abel\');

## 多行子查询(重点)
#案例1:返回location_id是1400或1700的部门中的所有员工姓名

#①查询location_id是1400或1700的部门编号SELECT department_id FROM departmentsWHERE location_id IN(1400,1700)#②查询department_id满足①结果的员工姓名SELECT last_name FROM employeesWHERE department_id IN(SELECT department_id FROM departmentsWHERE location_id IN(1400,1700))

在写子查询的过程中注意审题,理清逻辑关系,分步完成。

赞(0) 打赏
未经允许不得转载:爱站程序员基地 » MySQL学习笔记day02