精髓:多表查询简单的来说,就是按照组合条件把多张表变成 一张表 ,然后再根据条件进行查询
多表查询的分类:
1. 交叉链接
a.结果:两张表的笛卡尔积,无意义,一般不用
b.格式:select * from 表a,表b
2. 内链接
a.结果:表的交集
b. 格式分为两种,显式和隐式
显式: select * from 表A inner join 表B on 关联条件 where....;
隐式: select * from 表a,表b where 关联条件....;
3. 外链接,又分为左外链接 右外链接
a.左外链接:
结果: 左表的全集 + 交集
格式: select * from 表a left outer join 表b on 关联条件 where...
b.右外链接
结果:右表的全集 + 交集
格式: select * from 表a right outer join 表B on 关联条件 where....
4. 子查询
a. 解释: 一个SQL语句的查询条件依赖另一个SQL语句的查询结果
b. 格式: select * from 表A where 字段名称 = (select 字段名 from 表名 where...);
5. 自关联查询
a. 解释: 格式和上述的集中格式一模一样,只不过的是表自己和自己关联
b. 格式: select * from 表A inner join 表A on 关联条件 where.....;
c. 应用场景: 行政区域表
以上就是多表查询的基础用法和说明.