DQL:内连接查询与外连接查询

本文介绍了SQL99中的连接查询,重点讨论了内连接查询的四种类型:交叉连接、自然连接、using子句和on子句,并强调在开发中通常使用on子句以提高可读性。此外,还讲解了外连接查询,包括左外连接、右外连接和全外连接的概念及其应用场景。最后提到了MySQL不支持全外连接,但可以通过union或union all实现类似效果,建议在无去重需求时使用union all以提高效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.内连接查询:实际开发中往往需要针对两张甚至更多张数据表进行操作,而这多张表之间需要使用主键和外键关联在一起,然后使用连接查询来查询多张表中满足要求的数据记录。在SQL99中,连接查询需要使用join关键字实现。内连接查询的类型: cross natural using on
(1)交叉连接(0CROSS JOIN):对两个或多个表进行笛卡尔积操作, 笛卡尔积不管是否匹配,都连接。没有实际意义,有理论意义。笛卡尔积便于理解连接查询的原理

select *
from dept  
cross join emp;--表有左右之分   左连接 右连接  
-- dept表4条记录
-- emp表14条记录 ,一共14*4=56条记录

在这里插入图片描述(2)自然连接(natural join):会自动的按照所有的同名列进行匹配,并且同名列只显示一次
查看员工的编号,姓名,部门编号,部门名称(两张表通过部门编号deptno关联)

select e.empno,e.ename,deptno,dname -- 自然连接中不能使用表明前缀(例如deptno)
from emp e
natural join dept d 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值