数据库连接查询

1.连接查询

1.1连接查询

笛卡尔积查询: 其实就是同时查询两张表,其中一张表有m条记录,另外一张表有n条记录,查询的结果是m*n条,但这种查询结果中包含大量错误的数据,所以我们一般不会直接使用这种查询。

两张表,在笛卡尔积查询的基础上,找到两张表中对应数据正确的列名,然后用where查询剔除错误数据,就是连接查询。

1.2内连接查询

连接查询的基础上,把两张表的逗号换成inner join,把where换成on

1.3左外连接查询

如果要查询部门表(dept)中的所有数据,而部门表(dept)在左边,此时可以使用左外连接查询,就可以查询出所有的部门信息(而员工信息只显示和部门对应的)

步骤:把内连接查询的inner join换成left join,因为部门表(depe)在左边

结果:优先查询部门,没有部门的员工不显示,没有员工的部门显示为null

1.4右外连接查询

可以将右边表中的所有记录都查询出来,左边表只显示和右边相对应的数据,如果右边表中某些记录在左边没有对应的数据,可以显示为null。

步骤:把左外连接查询的left join换成right join,因为员工表在右边,

1.5全外连接查询

mysql是不支持全外连接查询的,但是我们可以通过union模拟这种查询,union关键字是用于将两个表查询结果上下合并在一起显示,并且会去除重复记录。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值