1.SQL的书写顺序
select->distinct->from->join->on->where->group by->having ->order by->limit
2.SQL的执行顺序
from->on->join->where->group by->having->select->distinct->order by->limit
3.内连接
只有进行连接的两个表中都存在与连接条件相匹配的数据才会被保留下来。
4.外连接
外连接时确定主从表:左外连 左主右从,右外连 右主左从
外连接的结果集:主表取所有,从表取匹配。从表与主表未匹配上的数据通过null来补全
满外连接:将会返回所有表中符合WHERE语句条件的所有记录。如果任一表的指定字段没有符合条件的值的话,那么就使用NULL值替代。
5.笛卡尔积
笛卡尔积会在下面的条件下产生
1)省略连接条件
2)连接条件无效
3)所有表中的所有行互相连接
为了避免笛卡尔积, 可以**在 WHERE 加入有效的连接条件
-
在 WHERE子句中写入连接条件。
-
在表中有相同列时,在列名之前加上表名前缀。