Sql 选择stament子查询
我有一个SQL employee表,如下所示:Sql 选择stament子查询,sql,Sql,我有一个SQL employee表,如下所示: ╔════╦═════════════╦═══════════╦═══════════╦═════════════╗ ║ ID ║ NAME ║ TITLE ║ HIRE_DATE ║ MANAGER ID ║ ╠════╬═════════════╬═══════════╬═══════════╬═════════════╣ ║ 1 ║ John Smith ║ Manager ║ 15-JUN-15 ║
╔════╦═════════════╦═══════════╦═══════════╦═════════════╗
║ ID ║ NAME ║ TITLE ║ HIRE_DATE ║ MANAGER ID ║
╠════╬═════════════╬═══════════╬═══════════╬═════════════╣
║ 1 ║ John Smith ║ Manager ║ 15-JUN-15 ║ NULL ║
║ 2 ║ Jim Jimmers ║ Associate ║ 23-AUG-15 ║ 1 ║
╚════╩═════════════╩═══════════╩═══════════╩═════════════╝
╔═════════════╦═══════════╦═══════════╦══════════════╗
║ NAME ║ TITLE ║ HIRE_DATE ║ MANAGER NAME ║
╠═════════════╬═══════════╬═══════════╬══════════════╣
║ John Smith ║ Manager ║ 15-JUN-15 ║ NULL ║
║ Jim Jimmers ║ Associate ║ 23-AUG-15 ║ John Smith ║
╚═════════════╩═══════════╩═══════════╩══════════════╝
我想退回以下文件:
╔════╦═════════════╦═══════════╦═══════════╦═════════════╗
║ ID ║ NAME ║ TITLE ║ HIRE_DATE ║ MANAGER ID ║
╠════╬═════════════╬═══════════╬═══════════╬═════════════╣
║ 1 ║ John Smith ║ Manager ║ 15-JUN-15 ║ NULL ║
║ 2 ║ Jim Jimmers ║ Associate ║ 23-AUG-15 ║ 1 ║
╚════╩═════════════╩═══════════╩═══════════╩═════════════╝
╔═════════════╦═══════════╦═══════════╦══════════════╗
║ NAME ║ TITLE ║ HIRE_DATE ║ MANAGER NAME ║
╠═════════════╬═══════════╬═══════════╬══════════════╣
║ John Smith ║ Manager ║ 15-JUN-15 ║ NULL ║
║ Jim Jimmers ║ Associate ║ 23-AUG-15 ║ John Smith ║
╚═════════════╩═══════════╩═══════════╩══════════════╝
我真的很难从经理那里得到这个名字。有什么想法吗
谢谢使用联接而不是子查询:
select t1.name, t1.title, t1.hire_date, t2.Name from table t1 left join table t2 on t1.managerid = t2.id
应该是这样的:
SELECT E1.NAME, E1.TITLE, E1.HIRE_DATE, E2.NAME
FROM employee AS E1 LEFT OUTER JOIN employee AS E2 ON (E2.ID=E1.MANAGER_ID)
你试过什么吗?这是一个简单的连接。@gurvindershing你是对的。谢谢你指出这一点。我改变了答案