自己結合は,言ってみればなんのこともない,単にある外部キーが同テーブル上にあるプライマリキーと結合するだけである.良い好例と説明がこちらにあるので,理解があいまいだと思われる方は是非とも一読されたい.以下はSQLite3.5.9上で動作する解答例.
drop table if exists Employee go create table Employee ( Id int not null primary key, Name varchar(64) not null, ManagerId int, Salary int not null ) go insert into Employee (Id,Name,ManagerId,Salary) values( 1, "Kotora", 3, 500000 ) go insert into Employee (Id,Name,ManagerId,Salary) values( 2, "Kodanuki",3, 5000 ) go insert into Employee (Id,Name,Salary) values( 3, "Tanu", 100000 ) go insert into Employee (Id,Name,Salary) values( 4, "Ushi", 5000 )
select e2.Name,"earns more than" as fact,e1.Name from Employee e1 join Employee e2 on e1.Id = e2.ManagerId where e2.Salary > e1.Salary
0 件のコメント:
コメントを投稿