【SQL】多列组合选择

1. 数据库表

组织机构表 dept

id 部门id

dept_name 部门名称

dept_rank 部门层级

updept_id 上级部门id

def_flag 是否删除的标识

插入数据:

1,一汽马自达汽车制造公司,1,1,0

2,轮轴车间,2,1,0

3,班组一,3,2,0

4,底盘车间,2,1,0

5,班组一,3,4,0

员工表 staff

id 员工id

staff_name 员工姓名

company_id 公司id

workshop_id 车间id

workteam_id 班组id

del_flag 是否删除的标识

插入数据:

1,张三,1,2,3,0

2,李四,1,4,5,0

可知,张三 是 一汽XX公司轮轴车间班组一 的员工,李四是 一汽XX公司底盘车间班组一的员工。

1.1 优点:

这种单表的层级结构设计,实现比较简单,健壮性高,即时以后层级增加,此表也能不做更改,继续使用。

1.2 缺点:

表内数据关联性过于强,一旦中间级别的组织被标记删除,其子组织都必须同步更新:被标记为删除。

2. 问题

输出员工id是2的员工的详细信息,格式如:

一汽马自达汽车制造公司底盘车间班组一李四。

3. SQL答案

select (select dept_name from dept where dept_

4. 知识点

学习和使用了那么久的SQL语法,却感觉还是第一次这么用。自己的思路还是狭隘了,没有到打开。

select 后面可以直接跟各种结果,而且 SQL不一定 需要 from table 和 where 子句等。

上一篇:批量插入大量数据


下一篇:WPF datagrid AutoGenerateColumns隐藏部分列