SQL面试题

原创 2007年09月20日 01:50:00
SQL面试题 (一)
有一个张员工工资表(SALARY),表有三列:员工编号(ID),工资(SALARY)
1.查询id重复记录
2.删除id重复记录,只保留第一条(说明,不需要考虑表中存在完全相同纪录的情况)
SQL语句如下:
CREATE TABLE SALARY(
              ID INT NOT NULL,
               SALARY MONEY NOT NULL
)
INSERT INTO SALARY
SELECT 1,1000
UNION ALL SELECT 1,800
UNION ALL SELECT 2,1200
UNION ALL SELECT 3,1100
UNION ALL SELECT 3,1200
UNION ALL SELECT 3,1300
SELECT * FROM SALARY
-- 1
SELECT *
FROM SALARY
WHERE ID IN
              (
              SELECT ID
              FROM SALARY
              GROUP BY ID
              HAVING COUNT(*)>1
              )
-- 2
DELETE T
FROM SALARY T
WHERE EXISTS(SELECT 1 FROM SALARY WHERE T.ID=ID AND SALARY>T.SALARY)

 

 

  SQL面试题 (二)

有一张工资表,包含三列:员工编号(ID),部门编号(GROUPS),工资(SALARY)
1. .找到每个部门工资最高的人(包括并列第一)
2. 找到每个部门工资最高的人(只选一个)
SQL语句如下:
DECLARE @G TABLE(ID INT,GROUPS NVARCHAR(20),SALARY MONEY)
INSERT INTO @G
SELECT 1,1,1000
UNION ALL SELECT 2,1,1000
UNION ALL SELECT 3,1,800
UNION ALL SELECT 4,2,2000
-- 1
SELECT *
FROM @G G
WHERE NOT EXISTS(SELECT 1 FROM @G WHERE GROUPS=G.GROUPS AND SALARY>G.SALARY)
 
SELECT G.*
FROM @G G
INNER JOIN
        (
        SELECT GROUPS,MAX(SALARY) AS SALARY
        FROM @G
        GROUP BY GROUPS
        )T
ON      G.GROUPS=T.GROUPS
AND     G.SALARY=T.SALARY
-- 2
SELECT MIN(G.ID),G.GROUPS,G.SALARY
FROM @G G
INNER JOIN
(
SELECT GROUPS,MAX(SALARY) AS SALARY
FROM @G
GROUP BY GROUPS
)T
ON      G.GROUPS=T.GROUPS
AND     G.SALARY=T.SALARY
GROUP BY G.GROUPS,G.SALARY
一定有更好的方法,请不吝赐教。

 

相关文章推荐

sql面试题java

  • 2017年11月06日 20:53
  • 58KB
  • 下载

SQL面试题解析

  • 2014年03月11日 13:18
  • 20KB
  • 下载

SQL数据库面试题以及答案

Student(stuId,stuName,stuAge,stuSex) 学生表       stuId:学号;stuName:学生姓名;stuAge:学生年龄;stuSex:学生性别 Course...

sql面试题.。

  • 2013年08月23日 17:31
  • 3KB
  • 下载

SQL经典面试题及答案

  • 2016年11月28日 11:47
  • 135KB
  • 下载

部分常见ORACLE面试题以及SQL注意事项(更新......)

部分常见ORACLE面试题以及SQL注意事项   一、表的创建: 一个通过单列外键联系起父表和子表的简单例子如下: CREATE TABLE parent(id INT NOT NULL, ...

极详细数据库面试题(SQL+ORACLE)

  • 2012年11月23日 17:43
  • 9.28MB
  • 下载

数据库面试题(SQL+ORACLE)

  • 2011年12月15日 15:21
  • 312KB
  • 下载

一道SQL面试题(行列互换)

转载:http://blog.csdn.net/jackfrued/article/details/45021897 有一个SQL题在面试中出现的概率极高,最近有学生出去面试仍然会遇到这样的题目...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:SQL面试题
举报原因:
原因补充:

(最多只允许输入30个字)