多表查询

MySQL多表查询

我的未来我决定 提交于 2021-02-01 11:37:30
select 字段名 from 表1,表2...where 表1.字段 = 表2.字段 AND 其他查询条件 来源: oschina 链接: https://my.oschina.net/u/3831711/blog/1802659

oracle中的多表连接

ⅰ亾dé卋堺 提交于 2020-03-26 15:00:59
3 月,跳不动了?>>> 简单连接: 简单连接仅仅是通过select子句和from子句来连接多个表,其查询结果是一个通过笛卡尔积所生成的表。在实际需求中,由于笛卡尔积包含了大量的冗余信息,一般没有任何意义,通常为了避免这种情况,在select语句提供一个连接条件,过滤无意义的数据。例如: --学生表和性别表关联,拿学生表的性别id和性别表的id来关联过滤 select * from student s,gender g where s.gender = g.id; Join连接: 1.内连接 内连接是一种常见的连接,用关键字inner join.innner可以省略,也就是说,只使用join连接的为内连接。连接的条件必须用on来进行条件匹配。如果还想进一步限制,则可以加where条件句。 如: select * from student s join gender g on s.gender = g.id where s.name='张三'; 2.自然连接 自然连接与内连接的功能类似,在使用自然连接查询多个表时,oracle会降低一个表中的那些列与第二个表中具有相同名称的列进行连接。在自然连接中,用户不需要明确指定进行连接的列。系统自动完成这一任务。自然连接在实际应用中很少。因为有个限制条件,连接的各个表之间必须有相同名称的列。但这在实际应用中可能和实际引用的含义发生矛盾。 3