MySQL笛卡尔积和等值连接(多表查询)
单标查询:从一张表中查询数据
多表查询:从多张表中联合查询出数据
单标查询:
SELECT * FROM sys_user
多表查询:
SELECT * FROM sys_user,sys_role_user
注意在时间运行环境下,应避免使用笛卡尔积
多表查询会产生笛卡尔积:
假设集合a={b,c},集合b={0,1,2},则两个集合的笛卡尔积为{(b,0),(b,1),(b,2),(c,0),(c,1),(c,2)}
实际运行环境线下,应避免使用权笛卡尔积
解决方案:在where加入有效的条件-->等值连接
不合理的数据
为了避免这种情况可以采用等值连接的方法,
注意:当多个表中有重名列时,
1.必须在列的名字前加上表名作为前置
2.也可以使用表名的别名