上一篇的学习了单表内容的查询,这一节主要学习了多表的查询方法。
🌟多表查询思路:1、分析题目涉及哪些表;
2、如果数据来自多张表需要用多表查询:找出表中相同的字段用等号连接,放在where后面;
3、如需对单条数据进行过滤则加上过滤条件并用and连接,也跟在where后面;
4、如需对多组数据进行统计则用上group by;
5、如果需要对分组后的数据进行过滤则用上having;
6、如果要对数据进行排序则加上order by。
🌟多表查询语法:
select 表别名1.字段1,表别名2.字段2,表别名3.字段3······表别名n.字段n
from 表名1.表别名1,表名2.表别名2,表名3.表别名3······表名n.表别名n
where 表别名1.字段1=表别名2.字段2 and 表别名2.字段2=表别名3.字段3
外连接:查询多表中相同字段下的所有数据
左连接:左边为主表,右边为从表,属于从属关系,即相同字段中数据类型数量主表>从表
语法:select 字段 from 表名1.表别名1,表名2.表别名2
where 表别名.字段=表别名2.字段(+)
右连接:右边为主表,左边为从表,属于从属关系,即相同字段中数据类型数量主表>从表
语法:elect 字段 from 表名1.表别名1,表名2.表别名2
where 表别名.字段(+)=表别名2.字段
(+)放的位置为从表
🌟子查询/嵌套查询
语法:select 字段/表达式 from 表名
where 字段1=(select 字段1 from 表名 where 字段2=a);
⚠️子查询内容必须用()圈住