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 給定 ...