码迷,mamicode.com
首页 > 数据库 > 详细

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

时间:2014-10-17 21:40:51      阅读:277      评论:0      收藏:0      [点我收藏+]

标签:style   blog   color   io   os   使用   sp   div   on   

use mydb1
go
-- 表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 t1
inner 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_Employee2
as t1
inner join (select Dept,Name from T_Employee2 where Position=经理)as t2 on t1.Dept = t2.Dept
where t1.Position=员工

-- 结果:
-- Name  Position  Dept  经理
-- 张三  员工    市场部  王五
-- 马六  员工    销售部  李四
-- 钱七  员工    市场部  王五

 

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

标签:style   blog   color   io   os   使用   sp   div   on   

原文地址:http://www.cnblogs.com/han1982/p/4032043.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!