建议join的表数量不要超过3个;关联字段的数据类型一样;关联字段有索引
1. 笛卡尔积
正常使用cross join进行笛卡尔积。但如果一个join不指定关联条件,也会产生笛卡尔积
2. using连接
使用using指定数据表里的同名字段进行等值连接。但只能配合join一起使用
例如:
mysql> select * from table1 join table2 using(user_id, city_id);
3. natural join
表示自然连接。帮你自动查询两张连接表中所有相同的字段 ,然后进行等值连接
例如:
mysql> select * from table1 natural join table2;
4. union
- union:返回两个查询的结果集的并集,去除重复记录
- union all:返回两个查询的结果集的并集。对于两个结果集的重复部分不去重