连接查询、跨表查询
* 本博客涉及到的数据为bjpowernode.sql,我也没有,数据见文末,SQL文见MySQL入门(9)文末。
* 该数据有三张表,分别是部门表dept(deptno部门编号、dname部门名称、loc位置)、
员工表emp(empno工号、ename员工姓名、job职位、mgr直属领导工号、
hiredate入职日期、sal月薪、comm补贴、deptno部门编号)、
薪水等级表salgrade(grade等级、losal区间下限、hisal区间上限)
连接查询
也叫跨表查询,需要关联多个表查询
1、什么是连接查询?
-查询的时候只从一张表检索数据,被称为单表查询
-在实际开发中,数据并不是存储在一张表中的,是同时存储在多张表中,这些表和表之间存在关系,我们在检索的时候同行是需要将多张表联合起来取得有效数据,这种多表查询被称为是连接查询,或者叫做跨表查询。
2、连接查询根据出现的年代分类:
-SQL92【1992】
-SQL99【1999:更新的语法,主要掌握这种语法】
DBA:databaseadministrator【数据库管理员,薪水很高】
老的DBA可能还在编写SQL92,所以还是需要掌握,保证能看懂。
3、连接查询根据连接方式可以分为:
- 内连接
* 等值连接
* 非等值连接
*自连接
- 外链接
* 左外连接(左连接)
* 右外连接(又链接)
- 全连接【不讲,使用很少】
4、当多张表进行连接查询,若没有任何条件进行限制,会发生什么现象?
案例:查询每一个员工所在的部门名称,要求最终显示员工名和对应的部门名
select ename