我已经创建了一个带有外键值的MySQL表。我想使用MySQL join来获取外键值。我有一个名为employee的表和外键值sex,性表包含男性和女性。这是我的简单连接查询,它正在运行:
SELECT * FROM sex JOIN employee ON employee.sex_id=sex.id但是我想在这里使用连接查询,但是我似乎遗漏了一些东西,请完成以下操作:
SELECT employee_id, first_name, last_name, sex_id FROM employee请告诉我如何在单次查询中为这个表insert to forigen key:
CREATE TABLE IF NOT EXISTS `employee` (
`employee_id` int(11) NOT NULL AUTO_INCREMENT,
`first_name` varchar(20) NOT NULL,
`middle_name` varchar(20) DEFAULT NULL,
`last_name` varchar(20) NOT NULL,
`employee_employee_id` int(11) DEFAULT NULL,
`address_id` int(11) DEFAULT NULL,
`phone_id` int(11) DEFAULT NULL,
`dob` date DEFAULT NULL,
`maritial_id` int(11) NOT NULL,
`sex_id` int(11) NOT NULL,
PRIMARY KEY (`employee_id`),
KEY `fk_employee_employee` (`employee_employee_id`),
KEY `fk_employee_address1` (`address_id`),
KEY `fk_employee_phone1` (`phone_id`),
KEY `fk_employee_maritial1` (`maritial_id`),
KEY `fk_employee_sex1` (`sex_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=3 ;我对MySQL没有什么好的想法
发布于 2012-07-25 13:29:15
SELECT emp.employee_id, emp.first_name, emp.last_name, emp.sex_id, sx.sex_label
FROM employee AS emp
JOIN sex AS sx
ON emp.sex_id = sx.id其中,sex_label是sex表中的字段名称,将包含Male或Female。
发布于 2012-07-25 12:56:06
尝试如下所示:
SELECT e.employee_id, e.first_name, e.last_name, s.id
FROM employee AS e
JOIN sex AS s
ON e.sex_id = s.idhttps://stackoverflow.com/questions/11642900
复制相似问题