`
zeyuphoenix
  • 浏览: 57979 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

SQL面试题(十)

阅读更多

部门和员工表如下示:

dept:
 deptno(primary key),dname,loc
emp:
 empno(primary key),ename,job,mgr,sal,deptno

建表:

drop table if exists dept;
drop table if exists emp;

create table dept
(
   deptno               int not null,
   deptname             char(20),
   deptlocation         char(50),
   primary key (deptno)
);

create table emp
(
   empno                int not null,
   deptno               int,
   empname              char(20),
   empjob               char(20),
   empsalary            float,
   empmanager           int,
   primary key (empno)
);

alter table emp add constraint FK_deptincludeemp foreign key (deptno)
      references dept (deptno) on delete restrict on update restrict;

INSERT INTO `dept` VALUES (1,'designing','workin121');
INSERT INTO `dept` VALUES (2,'coding','workin123');
INSERT INTO `dept` VALUES (3,'testing','workin125');
INSERT INTO `dept` VALUES (4,'manager','workin127');
INSERT INTO `dept` VALUES (5,'temp','nolocation');

INSERT INTO `emp` VALUES (1,2,'zhang','code',3000,15);
INSERT INTO `emp` VALUES (2,2,'wang','manager',4000,1);
INSERT INTO `emp` VALUES (3,1,'li','code',3600,1);
INSERT INTO `emp` VALUES (4,5,'zhao','test',2556,2);
INSERT INTO `emp` VALUES (5,1,'wu','code',6500,15);
INSERT INTO `emp` VALUES (6,5,'guo','code',5653,3);
INSERT INTO `emp` VALUES (7,1,'wang','study',1565,4);
INSERT INTO `emp` VALUES (8,1,'sun','code',9999.99,15);
INSERT INTO `emp` VALUES (9,2,'feng','study',1999,12);
INSERT INTO `emp` VALUES (10,1,'ma','code',2343,3);
INSERT INTO `emp` VALUES (11,3,'tu','code',9999.99,16);
INSERT INTO `emp` VALUES (12,1,'xin','code',7900,6);
INSERT INTO `emp` VALUES (13,1,'si','code',4546,2);
INSERT INTO `emp` VALUES (14,1,'fu','test',2464,15);
INSERT INTO `emp` VALUES (15,3,'hao','manager',9999.99,NULL);
INSERT INTO `emp` VALUES (16,4,'liu','test',3521,15);

 

 

分享到:
评论
14 楼 zeyuphoenix 2009-03-31  
问题14:
对于emp中同一部门低于自己工资至少3人的员工,列出其部门号,姓名,工资,以及工资少于自己的人数
Sql:
?????
13 楼 zeyuphoenix 2009-03-31  
问题13:
对于emp中低于自己工资至少5人的员工,列出其部门号,姓名,工资,以及工资少于自己的人数
Sql:
SELECT a.deptno, a.empname, a.empsalary, (SELECT COUNT(b.empname) FROM emp AS b 
WHERE b.empsalary < a.empsalary) as allcount FROM emp AS a
WHERE (SELECT COUNT(b.empname) FROM emp AS b WHERE b.empsalary < a.empsalary) > 5;
12 楼 zeyuphoenix 2009-03-31  
问题12:
对于emp中工资高于本部门平均水平,人数多与1人的,列出部门号,人数,按部门号排序
Sql:
SELECT COUNT(a.empno) AS allcount, a.deptno FROM emp AS a ,
(SELECT c.deptno AS deptno, AVG(c.empsalary) AS avgsalary FROM emp AS c GROUP BY c.deptno) AS b
WHERE a.empsalary > b.avgsalary AND a.deptno = b.deptno
GROUP BY a.deptno HAVING allcount > 1 ORDER BY a.deptno;
11 楼 zeyuphoenix 2009-03-31  
问题11:
对于emp,列出各个部门中平均工资高于本部门平均水平的员工数和部门号,按部门号排序
Sql:
SELECT COUNT(a.empno) AS allcount, a.deptno FROM emp AS a ,
(SELECT c.deptno AS deptno, AVG(c.empsalary) AS avgsalary FROM emp AS c GROUP BY c.deptno) AS b
WHERE a.empsalary > b.avgsalary AND a.deptno = b.deptno
GROUP BY a.deptno ORDER BY a.deptno;
10 楼 zeyuphoenix 2009-03-31  
问题10:
对于工资高于本部门平均水平的员工,列出部门号,姓名,工资,按部门号排序
Sql:
SELECT a.deptno, a.empname, a.empsalary FROM emp AS a ,
(SELECT c.deptno AS deptno, AVG(c.empsalary) AS avgsalary FROM emp AS c GROUP BY c.deptno) AS b
WHERE a.empsalary > b.avgsalary AND a.deptno = b.deptno
ORDER BY a.deptno;
9 楼 zeyuphoenix 2009-03-31  
问题9:
对于dept表中,列出所有部门名,部门号,同时列出各部门工作为'CLERK'的员工名与工作
Sql:
SELECT dept.deptno, dept.deptname, emp.empname, emp.empjob 
FROM dept, emp WHERE dept.deptno = emp.deptno AND emp.empjob = 'code';
8 楼 zeyuphoenix 2009-03-31  
问题8:
对于emp中有管理者的员工,列出姓名,管理者姓名(管理者外键为mgr)
Sql:
SELECT a.empname AS emp, b.empname AS manager FROM emp AS a, emp AS b
WHERE a.empmanager IS NOT NULL AND a.empmanager = b.empno;
7 楼 zeyuphoenix 2009-03-31  
问题7:
列出emp中工作为'CLERK'的员工的姓名,工作,部门号,部门名
Sql:
SELECT emp.empname, emp.empjob, dept.deptno, dept.deptname 
FROM dept, emp WHERE emp.deptno = dept.deptno AND emp.empjob = 'code';
6 楼 zeyuphoenix 2009-03-31  
问题6:
列出每个员工的姓名,工作,部门号,部门名
Sql:
SELECT emp.empname, emp.empjob, dept.deptno, dept.deptname 
FROM dept, emp WHERE emp.deptno = dept.deptno;
5 楼 zeyuphoenix 2009-03-31  
问题5:
列出'张三'所在部门中每个员工的姓名与部门号
Sql:
SELECT empname, deptno FROM emp WHERE deptno = 
(SELECT a.deptno FROM emp AS a WHERE a.empname = 'zhang');
4 楼 zeyuphoenix 2009-03-31  
问题4:
根据部门号由高而低,工资由低而高列出每个员工的姓名,部门号,工资
Sql:
SELECT empname, deptno, empsalary FROM emp ORDER BY deptno, empsalary asc;
3 楼 zeyuphoenix 2009-03-31  
问题3:
对于emp中最低工资小于3000的部门,列出job为'CLERK'的员工的部门号,最低工资,最高工资
Sql:
SELECT a.deptno, MIN(a.empsalary) AS minsalary, 
      MAX(a.empsalary) AS maxsalary FROM emp AS a, 
      (SELECT c.deptno , MIN(c.empsalary) FROM emp AS c 
      GROUP BY c.deptno HAVING MIN(c.empsalary) < 3000) AS b
      WHERE a.empjob = 'code' AND a.deptno = b.deptno GROUP BY a.deptno;
2 楼 zeyuphoenix 2009-03-31  
问题2 :
列出emp表中各部门job为'code'的员工的最低工资,最高工资
Sql:
SELECT emp.deptno, MIN(emp.empsalary) AS minsalary, 
      MAX(emp.empsalary) AS maxsalary FROM  emp 
      WHERE emp.empjob = 'code' GROUP BY emp.deptno;
1 楼 zeyuphoenix 2009-03-31  
问题1:
列出emp表中各部门的部门号, 部门,最高工资,最低工资
Sql:
SELECT emp.deptno, .dept.deptname, MIN(emp.empsalary) AS minsalary, 
      MAX(emp.empsalary) AS maxsalary FROM dept, emp 
      WHERE dept.deptno = emp.deptno GROUP BY emp.deptno;
发表评论

文章已被作者锁定,不允许评论。

相关推荐

    经典sql面试题

    ### 经典SQL面试题解析 #### 颇具挑战性的SQL面试题——删除冗余记录 **题目背景与分析** 在本题中,我们面对的是一个常见的问题:如何有效地处理数据库中的冗余数据。在实际应用中,由于各种原因(如数据导入...

    sql面试题很详细的sql语句面试题

    SQL面试题详解 本资源旨在总结和详细解释SQL面试题中的各种问题和解决方案,并对每个问题进行了详细的解释和分析。 一、查询每门课都大于80分的学生姓名 问题:使用一条SQL语句查询出每门课都大于80分的学生姓名...

    sql面试题(适合软件测试)

    根据提供的文件内容,我们可以整理出以下几个SQL面试题及其解答,这些问题主要聚焦于SQL查询技巧、数据处理以及数据结构的理解。 ### 1. 查询每门课都大于80分的学生姓名 **题目描述**:给定一张成绩表,其中包含...

    SQL面试题(很全,带答案)

    根据给定的文件标题、描述、标签以及部分内容,我们可以从中提炼出以下详细的IT知识点,主要聚焦于SQL语言的基础操作及面试常考知识点: ### SQL语言基础分类与功能 #### 数据定义语言(DDL) - `CREATE DATABASE`:...

    java 面试题基础题,sql 面试题 带答案

    二、SQL 面试题 1. **SQL 数据类型:** 包括数值类型(如 INT、FLOAT)、字符串类型(如 VARCHAR、CHAR)、日期时间类型(如 DATE、TIMESTAMP)等。 2. **SELECT 语句:** 用于从数据库中选择数据,如 `SELECT *...

    尚硅谷大数据技术之企业SQL面试题_大数据_sql_尚硅谷sql_doc_

    "尚硅谷大数据技术之企业SQL面试题"这个资料集显然针对的是准备面试的求职者,特别是那些希望在大数据环境中运用SQL技能的角色。这份文档可能是由尚硅谷——一个知名的IT教育机构提供的,旨在帮助学习者掌握SQL在...

    几个SQL面试题及答案.sql

    几个SQL面试题及答案.sql

    SQL面试题.doc

    SQL 面试题 SQL(Structured Query Language)是一种特殊-purpose 编程语言,用于管理关系数据库管理系统(RDBMS)。SQL 面试题是 IT 行业中非常重要的一部分,涵盖了数据库管理、数据查询、数据操作等方面的知识。...

    sql面试题,java面试题

    首先,让我们关注SQL面试题。SQL(Structured Query Language)是用于管理关系数据库的标准语言,包括数据查询、更新、插入和删除等操作。常见的SQL面试题涵盖以下几个方面: 1. 数据库基本概念:理解数据库、表、...

    sql面试题.。

    sql面试题,对面试很有帮助的。。。。特别是初学者

    oraclesql面试题

    从给定的Oracle SQL面试题中,我们可以提炼出多个关键知识点,这些知识点涵盖了SQL查询、数据操作、表结构设计以及Oracle数据库的一些高级特性。以下是对这些知识点的详细解析: ### 1. 数据分组与聚合函数 在第一...

    SQL面试题2

    在问答操作题中,文件给出了具体的SQL查询问题及实现代码。这些问题都是围绕关系型数据库的增删改查操作,并结合了SQL的基础知识点。例如: 1. 查询选修课程名称为“税收基础”的学员学号和姓名,使用了嵌套查询...

    sql面试题以及答案

    sql,面试题,sql,面试题,sql,面试题,sql,面试题sql,面试题,sql,面试题sql,面试题,sql,面试题sql,面试题,sql,面试题sql,面试题,sql,面试题sql,面试题,sql,面试题sql,面试题,sql,面试题sql,...

    50道SQL面试题

    ### SQL面试题解析 #### 题目1: 查询课程编号为001的成绩高于课程编号为002的学生学号。 ```sql SELECT a.S# FROM (SELECT S#, score FROM SC WHERE C# = '001') a, (SELECT S#, score FROM SC WHERE C# = '002') ...

    sqlserver+sqlserver面试题及答案

    sqlserver+sqlserver面试题及答案 sqlserver+sqlserver面试题及答案 sqlserver+sqlserver面试题及答案

    SQL常见的面试题集锦,非常详尽的题库,非常经典

    这个压缩包中的"SQL面试题"集合,无疑是一个全面且经典的SQL知识复习资源,适用于准备面试的求职者或希望提升SQL技能的从业者。 首先,我们要理解SQL的基本概念。SQL主要包括数据查询、数据更新、数据插入和数据...

    sql面试题,数据库最基本的面试题

    以下是一些关于SQL的基础面试题及其解析: 1. 查询特定记录: 例如,要获取名字为"Bill Gates"的电子邮件地址,可以使用以下查询: ```sql SELECT email FROM email_table WHERE name='Bill Gates'; ``` 2. ...

    校招sql 面试题

    ### SQL面试题解析 #### 背景介绍 在IT行业的招聘过程中,SQL技术作为数据处理的核心工具之一,经常被用作考核应聘者能力的重要环节。对于即将步入职场的应届毕业生来说,掌握一定的SQL技能是必不可少的。下面将对...

    SQL精选面试题

    本资源提供了SQL面试题的相关知识点,涵盖了触发器、索引、内存泄漏、事务、锁、视图、游标、数据库对象、NULL值、索引类型、主键、外键、触发器类型等概念的解释。 一、触发器 触发器是一种特殊的存储过程,主要...

Global site tag (gtag.js) - Google Analytics