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加入有效的条件-->等值连接

MySQL笛卡尔积和等值连接(多表查询)

MySQL笛卡尔积和等值连接(多表查询)

不合理的数据

MySQL笛卡尔积和等值连接(多表查询)

为了避免这种情况可以采用等值连接的方法,

MySQL笛卡尔积和等值连接(多表查询)

注意:当多个表中有重名列时,

1.必须在列的名字前加上表名作为前置

2.也可以使用表名的别名