超過經理收入的員工

2021-09-26 08:58:13 字數 1771 閱讀 8170

create

table employee(

id number(10)

primary

key,

name varchar(10

)not

null

, salary number(10)

, managerid number(10)

)insert

into employee values(1

,'jon'

,70000,3

);insert

into employee values(2

,'henry'

,80000,4

);insert

into employee values(3

,'sam'

,60000

,null);

insert

into employee values(4

,'max'

,90000

,null);

commit

employee 表包含所有員工,他們的經理也屬於員工。每個員工都有乙個 id,此外還有一列對應員工的經理的 id。

給定 employee 表,編寫乙個 sql 查詢,該查詢可以獲取收入超過他們經理的員工的姓名。在上面的**中,joe 是唯一乙個收入超過他的經理的員工。

select a.name  as employee  from employee a , employee b where a.managerid = b.id and a.salary>b.salary
測試下左連線,右連線和內連線的區別左連線

右連線

內連線 使用 , 分隔兩個表和inner join 是乙個效果

select

*from employee a inner

join employee b on a.managerid = b.id

select

*from employee a , employee b where a.managerid = b.id

這兩條語句是等價的

超過經理收入的員工

employee表包含所有員工,他們的經理也屬於員工。每個員工都有乙個 id,此外還有一列對應員工的經理的 id。id name salary managerid 1 joe 70000 3 2 henry 80000 4 3 sam 60000 null 4 max 90000 null 給定em...

181 超過經理收入的員工

employee表包含所有員工,他們的經理也屬於員工。每個員工都有乙個 id,此外還有一列對應員工的經理的 id。id name salary managerid 1 joe 70000 3 2 henry 80000 4 3 sam 60000 null 4 max 90000 null 給定em...

181 超過經理收入的員工

employee 表包含所有員工,他們的經理也屬於員工。每個員工都有乙個 id,此外還有一列對應員工的經理的 id。id name salary managerid 1 joe 70000 3 2 henry 80000 4 3 sam 60000 null 4 max 90000 null 給定 ...