gpt4 book ai didi

mysql - 如何从名为 Employee 的表中获取记录,其中外键名为 ManagerId 引用本身 empId

转载 作者:行者123 更新时间:2023-11-29 11:01:24 25 4
gpt4 key购买 nike

我陷入了这个问题,我试图从 Employee 表中获取一条记录,该表有五个名为 EmpId、Name、Age、Post 和 ManagerId 的列。ManagerId 是 EmpId 的 Employee 表的外键和引用表。这意味着经理也是公司的员工。

问题是我想要获取一条包含与员工记录关联的 empId、姓名和经理姓名的记录。那么 mysql 查询会是什么?这是表信息:-

DROP TABLE IF EXISTS `employee`;
CREATE TABLE `employee` (
`empId` int(10) unsigned NOT NULL auto_increment,
`Name` varchar(45) default NULL,
`Age` varchar(45) default NULL,
`Post` varchar(45) default NULL,
`managerId` int(10) unsigned default NULL,
PRIMARY KEY (`empId`),
KEY `FK_employee_1` (`managerId`),
CONSTRAINT `FK_employee_1` FOREIGN KEY (`managerId`) REFERENCES `employee` (`empId`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=latin1;

最佳答案

您可以使用 Left Join 和 Self 来完成此操作。

SELECT e1.empId, e1.Name,  
e2.Name AS manager_name
FROM employee e1
LEFT JOIN employee e2
ON e1.managerId = e2.empId

关于mysql - 如何从名为 Employee 的表中获取记录,其中外键名为 ManagerId 引用本身 empId,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42175246/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com