首页 > 代码库 > 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用法
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。