多表查询
是什么
定义
从多张表中进行数据的查询操作。
分类和组成
内连接查询
1.隐式内连接
2.显式内连接
外连接查询
1.左外连接:
可以查询左表所有数据以及其交集部分数据。
2.右外连接
可以查询右表所有数据以及其交集部分数据。
子查询
1.子查询的结果是单行单列的。
子查询可以作为条件,使用运算符去判断。
运算符: > =
2.子查询的结果是多行单列的。
作为条件,用运算符in来判断。
3.是多行多列的。
作为一张虚拟表,来参与查询。
PS:
1.一般将表用as 起别名,方便进行操作。
2.左外连接的NULL值填充:对于右表中没有匹配的左表行,结果集中的右表列将填充为NULL。
3.右外连接的NULL值填充:对于左表中没有匹配的右表行,结果集中的左表列将填充为NULL。
4.子查询定义:
查询中嵌套查询,称呼嵌套查询为子查询。
怎么做
内连接查询
1.隐式内连接
用正常的where语句将两张表进行联系并查询即可。
2.显式内连接
select 字段列表 from 表1 inner join 表名2 on 条件;
select 字段列表 from 表1 join 表名2 on 条件;
外连接查询
1.左外连接
select 字段列表 from 表1 left outer join 表2 on 条件;
select 字段列表 from 表1 left join 表2 on 条件;
2.右外连接
select 字段列表 from 表1 right outer join 表2 on 条件;
select 字段列表 from 表1 right join 表2 on 条件;
子查询
将某一部分用查询语句替代即可。
为什么
目的
消除笛卡尔积结果中的无用数据。
相关知识点
1.笛卡尔积
A,B两个集合,取A和B的所有组合情况。
是什么
定义
从多张表中进行数据的查询操作。
分类和组成
内连接查询
1.隐式内连接
2.显式内连接
外连接查询
1.左外连接:
可以查询左表所有数据以及其交集部分数据。
2.右外连接
可以查询右表所有数据以及其交集部分数据。
子查询
1.子查询的结果是单行单列的。
子查询可以作为条件,使用运算符去判断。
运算符: > =
2.子查询的结果是多行单列的。
作为条件,用运算符in来判断。
3.是多行多列的。
作为一张虚拟表,来参与查询。
PS:
1.一般将表用as 起别名,方便进行操作。
2.左外连接的NULL值填充:对于右表中没有匹配的左表行,结果集中的右表列将填充为NULL。
3.右外连接的NULL值填充:对于左表中没有匹配的右表行,结果集中的左表列将填充为NULL。
4.子查询定义:
查询中嵌套查询,称呼嵌套查询为子查询。
怎么做
内连接查询
1.隐式内连接
用正常的where语句将两张表进行联系并查询即可。
2.显式内连接
select 字段列表 from 表1 inner join 表名2 on 条件;
select 字段列表 from 表1 join 表名2 on 条件;
外连接查询
1.左外连接
select 字段列表 from 表1 left outer join 表2 on 条件;
select 字段列表 from 表1 left join 表2 on 条件;
2.右外连接
select 字段列表 from 表1 right outer join 表2 on 条件;
select 字段列表 from 表1 right join 表2 on 条件;
子查询
将某一部分用查询语句替代即可。
为什么
目的
消除笛卡尔积结果中的无用数据。
相关知识点
1.笛卡尔积
A,B两个集合,取A和B的所有组合情况。查询
是什么
定义
从多张表中进行数据的查询操作。
分类和组成
内连接查询
1.隐式内连接
2.显式内连接
外连接查询
1.左外连接:
可以查询左表所有数据以及其交集部分数据。
2.右外连接
可以查询右表所有数据以及其交集部分数据。
子查询
1.子查询的结果是单行单列的。
子查询可以作为条件,使用运算符去判断。
运算符: > =
2.子查询的结果是多行单列的。
作为条件,用运算符in来判断。
3.是多行多列的。
作为一张虚拟表,来参与查询。
PS:
1.一般将表用as 起别名,方便进行操作。
2.左外连接的NULL值填充:对于右表中没有匹配的左表行,结果集中的右表列将填充为NULL。
3.右外连接的NULL值填充:对于左表中没有匹配的右表行,结果集中的左表列将填充为NULL。
4.子查询定义:
查询中嵌套查询,称呼嵌套查询为子查询。
怎么做
内连接查询
1.隐式内连接
用正常的where语句将两张表进行联系并查询即可。
2.显式内连接
select 字段列表 from 表1 inner join 表名2 on 条件;
select 字段列表 from 表1 join 表名2 on 条件;
外连接查询
1.左外连接
select 字段列表 from 表1 left outer join 表2 on 条件;
select 字段列表 from 表1 left join 表2 on 条件;
2.右外连接
select 字段列表 from 表1 right outer join 表2 on 条件;
select 字段列表 from 表1 right join 表2 on 条件;
子查询
将某一部分用查询语句替代即可。
为什么
目的
消除笛卡尔积结果中的无用数据。
相关知识点
1.笛卡尔积
A,B两个集合,取A和B的所有组合情况。
是什么
定义
从多张表中进行数据的查询操作。
分类和组成
内连接查询
1.隐式内连接
2.显式内连接
外连接查询
1.左外连接:
可以查询左表所有数据以及其交集部分数据。
2.右外连接
可以查询右表所有数据以及其交集部分数据。
子查询
1.子查询的结果是单行单列的。
子查询可以作为条件,使用运算符去判断。
运算符: > =
2.子查询的结果是多行单列的。
作为条件,用运算符in来判断。
3.是多行多列的。
作为一张虚拟表,来参与查询。
PS:
1.一般将表用as 起别名,方便进行操作。
2.左外连接的NULL值填充:对于右表中没有匹配的左表行,结果集中的右表列将填充为NULL。
3.右外连接的NULL值填充:对于左表中没有匹配的右表行,结果集中的左表列将填充为NULL。
4.子查询定义:
查询中嵌套查询,称呼嵌套查询为子查询。
怎么做
内连接查询
1.隐式内连接
用正常的where语句将两张表进行联系并查询即可。
2.显式内连接
select 字段列表 from 表1 inner join 表名2 on 条件;
select 字段列表 from 表1 join 表名2 on 条件;
外连接查询
1.左外连接
select 字段列表 from 表1 left outer join 表2 on 条件;
select 字段列表 from 表1 left join 表2 on 条件;
2.右外连接
select 字段列表 from 表1 right outer join 表2 on 条件;
select 字段列表 from 表1 right join 表2 on 条件;
子查询
将某一部分用查询语句替代即可。
为什么
目的
消除笛卡尔积结果中的无用数据。
相关知识点
1.笛卡尔积
A,B两个集合,取A和B的所有组合情况。