sqlserver 多对多表查询-部门表和员工表简化版




--查询部门表
select * from t_dept;
--查询员工表 
select * from t_emp;


/*
about 查询 

1. 查询每个员工的名字和所在部门的名称

2. 查询A国的员工姓名

3. 查询张飞的部门名称

4. 查询工资在2000以下员工姓名,所在地
*/
-- 逻辑关系分析:员工表的dept_id 部门ID关联部门表的主键 ID.
-- 1. 查询每个员工的名字和所在部门的名称
select name,Depname  from t_emp as a  
left join t_dept as b
on a.dept_id=b.ID 

-- 2. 查询A国的员工姓名
select name as A国员工姓名 from t_emp as a 
left join t_dept as b
on a.dept_id=b.ID
-- 条件查询逻辑:重要的是员工表关联字段的信息.A国的部门ID为5. B国为7. 
where a.dept_id=5; 


--3  查询张飞的部门名称  主表 t_emp 员工表  从表 t_dept 部门表
select name,Depname from t_emp as a 
left join t_dept as b
on a.dept_id=b.ID
where  a.name='张飞';


--4 查询工资在2000以下员工姓名,所在地
select name as 员工姓名,loc as 所在地 from t_emp as a 
left join t_dept as b
on a.dept_id=b.ID
where sal<2000;

 















效果

 1

2

 

3


版权声明:本文为chenggong9527原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。