首页 > 代码库 > SQL语句 自连表查询。inner join用法

SQL语句 自连表查询。inner join用法

use mydb1go-- 表T_Employee2-- Id  Name  Position  Dept-- 1   张三   员工     市场部-- 2   李四   经理     销售部-- 3   王五   经理     市场部-- 4   马六   员工     销售部-- 5   钱七   员工     市场部select * from T_Employee2-- 需求:查询表中所有员工以及所在部门的经理姓名。(使用表自连接查询)-- 分析:要求返回结果-- Name  Position  Dept  经理-- 张三  员工    市场部  王五-- 马六  员工    销售部  李四-- 钱七  员工    市场部  王五-- 1、查出 每个部门对应的经理姓名select Dept,Name from T_Employee2 where Position=经理-- 结果:-- Dept    Name-- 销售部  李四-- 市场部  王五-- 2、查出 所有的员工select * from T_Employee2 where Position=员工-- 结果:-- Id  Name  Position  Dept-- 1   张三   员工     市场部-- 4   马六   员工     销售部-- 5   钱七   员工     市场部--3、上面2个表连接查询,把1个表当做2个表来查询。select t1.Name,Position,t1.Dept,t2.Name 经理 from (select * from T_Employee2 where Position=员工) as t1inner join (select Dept,Name from T_Employee2 where Position=经理)as t2 on t1.Dept = t2.Dept--4、简化后结果select t1.Name,Position,t1.Dept,t2.Name 经理 from T_Employee2as t1inner join (select Dept,Name from T_Employee2 where Position=经理)as t2 on t1.Dept = t2.Deptwhere t1.Position=员工-- 结果:-- Name  Position  Dept  经理-- 张三  员工    市场部  王五-- 马六  员工    销售部  李四-- 钱七  员工    市场部  王五

 

SQL语句 自连表查询。inner join用法