用SQL编写动态查询
我有一张名为employee的表格,如下所示用SQL编写动态查询,sql,Sql,我有一张名为employee的表格,如下所示 CREATE TABLE employee ( id INTEGER, manager INTEGER, name TEXT, FOREIGN KEY(manager) REFERENCES employee(id) ); 我想获取员工名单及其经理姓名。我想你可能已经发现了这一点,但对于其他人来说 SELECT e.name as employee, m.name as manager
CREATE TABLE employee (
id INTEGER,
manager INTEGER,
name TEXT,
FOREIGN KEY(manager) REFERENCES employee(id)
);
我想获取员工名单及其经理姓名。我想你可能已经发现了这一点,但对于其他人来说
SELECT e.name as employee, m.name as manager
FROM employee e LEFT JOIN employee m ON e.manager = m.id
ORDER BY e.name
使用自联接
SELECT *
FROM employee e INNER JOIN employee e1 ON e.manager = e1.id
做一个self join.BTW,manager应该是一个整数id。id列应该是主键。你的答案是第一个,它有更好的表别名和整体结构。