SQL自连接详解

定义:自己连接自己,本表连接本表,表a对表a进行连接,在不给予条件的情况下,自连接是一个笛卡尔积,既表a中每个值对表a都进行一个连接

当我们需要将一张表中的某一行与其他行进行组合时,可以使用自连接

例:查询员工及其主管的姓名

对tb_emp进行自连接

连接前:我们可以得出mgr中的编号即是每位员工的主管编号

 

自连接后

 SELECT *
   FROM tb_emp as t1 ,tb_emp as t2

 

注意:要执行自连接操作必须使用表别名来帮助MySQL在单个查询中区分左表与同一张表的右表

当左表中的mgr编号与右表中的eno编号相同时,符合主管定义,则给上条件

 select t1.ename as emp_name
      , t2.ename as mgr_name
   from tb_emp as t1, tb_emp as t2
  where t1.mgr = t2.eno;

得出结果

 

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值