MySQL的多表查询(笛卡尔积原理)
- 先确定数据要用到哪些表。
 - 将多个表先通过笛卡尔积变成一个表。
 - 然后去除不符合逻辑的数据(根据两个表的关系去掉)。
 - 最后当做是一个虚拟表一样来加上条件即可。
 
注意:列名最好使用表别名来区别。
笛卡尔积
 
Demo:

左,右连接,内,外连接
l 内连接:
要点:返回的是所有匹配的记录。
- 2. select * from a,b where a.x = b.x ////内连接
 
l 外连接有左连接和右连接两种。
要点:返回的是所有匹配的记录 外加 每行主表外键值为null的一条记录。辅表所有列为null值。
- select * from a left join b on a.x=b.x order by a.x //左外连接或称左连接
 - select * from a right join b on a.x=b.x order by a.x //右外连接或称右连接
 
select子句顺序
| 
 子句  | 
 说明  | 
 是否必须使用  | 
| 
 select  | 
 要返回的列或表示式  | 
 是  | 
| 
 form  | 
 从中检索数据的表  | 
 仅在从表选择数据时使用  | 
| 
 where  | 
 行级过滤  | 
 否  | 
| 
 group by  | 
 分组说明  | 
 仅在按组计算聚集时使用  | 
| 
 having  | 
 组级过滤  | 
 否  | 
| 
 order by  | 
 输出排序顺序  | 
 否  | 
| 
 limit  | 
 要检索的行数  | 
 否  | 
                    
                

                
            
        
浙公网安备 33010602011771号