多表查询。

本文介绍了多表查询的基础概念,包括笛卡尔积的理解、避免笛卡尔积的方法以及多表查询的分类。重点讲述了内连接和外连接的区别,如左外连接和右外连接,并通过一个示例说明如何查询所有员工的last_name和department_name信息。强调了在多表查询中指定字段来源的重要性以及SQL优化的建议。
摘要由CSDN通过智能技术生成

1:多表的查询如何实现:

笛卡尔积(交叉连接)的理解:假如有俩个集合x集合,y集合,那么x和y的笛卡尔积就是x和y 的所有可能组合

2:多表查询也成为关联查询,值俩个或则更多个表一起完成查询

前提条件,这些一起查询的表之间是有关系的,他们之间一定是由关联字段,这个关联字段可能建立了外键,也可能没有建立外键,比如:员工表和部门表,这里拉个表依靠部门编号进行关联

3:笛卡尔积错误会在下面条件下产生:

省略多个表的连接条件

连接条件无效

所有表的互相连接

     为了避免笛卡尔积,可以在where中加入有效连接条件

4:如果查询表中都存在的字段,则必须指明此字段所在的表

建议:送sql优化的角度,建议多表查询是,每个字段前都知名其所在的表

5:多表查询分类:

等值连接和非等值连接

这两者同时包含在内连接和外连接中,因为内连接和外连接都是需要连接条件的,条件为=则为等值连接,反之为非等值连接。

自链接和非自链接

内连接和外连接

#内连接:

    #内连接:合并具有同一列的俩个以上的表的行,结果集合中不包括一个表与另外一个表不匹配行

    #外连接:合并具有同一列的俩个以上的表的行,结果集合中不包括一个表与另外一个表不匹配行,还查询到了左表或右表中不匹配的行

#外连接的分类:

#左外连接和右外连接,满外连接(左中右都要)

#左外连接,俩表在连接的过程中除了要返回满足连接条件意外还要返回左表中不满足条件的行,这种连接叫左外连接

#右外连接,俩表在连接的过程中除了要返回满足连接条件意外还要返回右表中不满足条件的行,这种连接叫左外连接

#查询所有的员工的 last_name,department_name信息(所有一定是外连接)

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值