【发布时间】:2015-08-19 13:31:37
【问题描述】:
我有 3 个表,即子表、员工表和部门表,其中包含一些示例数据。我需要获取:
- 孩子的名字
- 相应员工的名字和姓氏
- 该员工经理的名字和姓氏。
我想根据上述条件将数据分列在列中。
子表:
+-----------+-------+
| empld_id | name |
+-----------+-------+
| 123456789 | Manny |
| 333445555 | Joy |
| 987654321 | abner |
+-----------+-------+
员工表:
+-------+-------+-----------+-----+-----------+--------+
| fname | lname | ssn | sex | superssn | deptNo |
+-------+-------+-----------+-----+-----------+--------+
| john | smith | 123456789 | m | 333445555 | 5 |
+-------+-------+-----------+-----+-----------+--------+
部门表:
+-----------------+--------+------------+
| department_name | deptNo | managerssn |
+-----------------+--------+------------+
| HQ | 1 | 8888665555 |
| admin | 4 | 9876543211 |
+-----------------+--------+------------+
我目前有这个查询:
select
A.name,
B.fname,
B.lname
from
child A,
employee B,
department C
where
A.empld_id= B.ssn and
C.managerssn = B.ssn;
【问题讨论】:
-
尽量避免逗号分隔的连接!
-
您是否在表上设置了主键和外键?
-
在继续操作之前,您肯定应该摆脱ancient join syntax。
标签: mysql sql sql-server select