文档介绍:最近有许多学员问了一些面试中的问题,请数据库教师总结了一下:总结起来看:
一是关于怎样找出和去除重复数据,这在另一个帖子利已有详细介绍。
二是关于找出某一列里最大或最小的前几个,或是大于或小于某一个值(最大值或平均值)的数据。针对这RY
------------------------- ---------- ----------
Velasquez
                        50       4750
Urguhart                          41       2280
Menchu                            42       2375
Biri                              43       2090
Catchpole                         44       2470
Havel                             45    
Nguyen                            34    
Maduro                            41       2660
Nozaki                            42       2280
Schwartz                          45       2090
10 rows selected.
(2):第二种方法:
SQL> l
1  select , , ,
2  from s_emp a, (select dept_id, avg(salary) avgsal
3               from s_emp
4               group by dept_id) b
5  where =
6* and >
SQL> /
LAST_NAME                     SALARY    DEPT_ID     AVGSAL
------------------------- ---------- ---------- ----------
Velasquez                       4750         50    
Urguhart                        2280         41    
Menchu                          2375         42
Biri                            2090         43       1710
Catchpole                       2470         44       1995
Havel                                 45    
Nguyen                                 34       2204
Maduro                          2660         41    
Nozaki                          2280         42
Schwartz                        2090         45    
10 rows selected.
4:找出那些工资高于他们所在部门的manager的工资的员工。
SQL> l
1  select id, last_name, salary, manager_id
2  from s_emp a
3  where salary>(select salary
4
               from s_emp
5*               where id=)
SQL> /
      ID LAST_NAME                     SALARY MANAGER_ID
---------- ----------------------