我有一个表Person
的数据库,具有属性ID
, Name
和Age
。我还有一个表WorksFor
,具有属性ID1
和ID2
,其中ID1
适用于 ID2
我想列出所有为比自己年轻至少两岁的人工作的人的名字。我该怎么做呢?
假设ID1 WorksFor ID2…
SELECT DISTINCT
CubeRat.ID,
CubeRat.Name,
CubeRat.Age
FROM
WorksFor W
INNER JOIN PERSON Boss ON W.ID2 = Boss.ID
INNER JOIN PERSON CubeRat ON W.ID1 = CubeRat.ID
WHERE
CubeRat.Age >= (Boss.Age + 2)
假设id1和id2是一个表中的字段,其中id1是经理id, id2是工作id
SELECT p.name
FROM Person p
WHERE p.age > ((PRIOR p.age) - 2)
START WITH p.id2 = *sombody's id*
CONNECT BY p.id1 = PRIOR p.id2
甲骨文符号