`

sql面试

    博客分类:
  • sql
阅读更多
引用

问题描述:
现有一张表结构如下:
create table tableName(  
    id int,  
    sname varchar(15),  
    smoney float,  
    sprovince varchar(15)  
)  
其中
id:合同id 
sname:姓名    
smoney :业绩    
sprovince:地区
问:
第一道:显示出 业绩大于同一地区平均值的 合同id  姓名 地区 业绩
第二道:把同一地区的 平均业绩地区 插入到新表中 (新表只包含两个字段即:平均业绩 地区)



drop table tableName;
create table tableName(
	id int,
	sname varchar(15),
	smoney float,
	sprovince varchar(15)
)

delete from tableName;
insert into tableName(id,sname,smoney,sprovince)values(1,'zhangsan',2098,'A');
insert into tableName(id,sname,smoney,sprovince)values(2,'lisi',3000,'B');
insert into tableName(id,sname,smoney,sprovince)values(3,'wangwu',4587,'C');
insert into tableName(id,sname,smoney,sprovince)values(4,'liumazi',4587,'C');
insert into tableName(id,sname,smoney,sprovince)values(5,'dongjiu',3000,'B');
insert into tableName(id,sname,smoney,sprovince)values(6,'shiga',4567,'A');
insert into tableName(id,sname,smoney,sprovince)values(7,'jerry',4567,'A');

select * from tableName;

select sprovince,avg(smoney) as '平均业绩' from tableName group by sprovince;

select 
	a.id,a.sname,a.sprovince,a.smoney
from tableName as a
where smoney>(select avg(b.smoney) from tableName as b where b.sprovince=a.sprovince group by b.sprovince)
order by a.sprovince;


--此种插入方式newtable 表格必须存在
insert into newtable(sprovince,avgmoney)select sprovince,avg(smoney) as '平均业绩' from tableName group by sprovince;

drop table newtalbe;
--此种插入方式newtable自动创建
select avg(smoney) as '平均业绩',sprovince as '地区' into newtalbe from tableName group by sprovince;

引用

原题大致是这样 合同表 cid主键
cid  Region(区域)   Saler(销售员)  Money(合同金额)
  1         北京           杨建               100
  2         上海           社长               200
  3         杭州           副团               500
  4         上海           社长               200
  5         上海           杨建               400
  6         北京           社长               300
  7         北京           杨建               200
  8         杭州           副团               100


1. 查询每个区域有多少个销售人员并按区域倒叙排列
2. 查询所有相同区域中合同金额最少的区域
3. 查询表中合同金额小于所在区域平均合同金额的合同id

drop table salerInformation;
create table salerInformation(
	id int,
	region varchar(15),
	saler varchar(15),
	salerMoney float
)
delete from salerInformation;
insert into salerInformation(id,region,saler,salerMoney)values(1,'北京','杨建',100);
insert into salerInformation(id,region,saler,salerMoney)values(2,'上海','社长',200);
insert into salerInformation(id,region,saler,salerMoney)values(3,'杭州','副团',500);
insert into salerInformation(id,region,saler,salerMoney)values(4,'上海','社长',200);
insert into salerInformation(id,region,saler,salerMoney)values(5,'上海','杨建',400);
insert into salerInformation(id,region,saler,salerMoney)values(6,'北京','社长',300);
insert into salerInformation(id,region,saler,salerMoney)values(7,'北京','杨建',200);

1. 查询每个区域有多少个销售人员并按区域倒叙排列

select region as '区域',count(saler) as '员工人数' from salerInformation group by region order by region desc;

2. 查询所有相同区域中合同金额最少的区域
select region  as '区域',min(salerMoney) as '合同金额' from salerInformation group by region;

3. 查询表中合同金额小于所在区域平均合同金额的合同id

select region as '区域',avg(b.salerMoney)as '平均' from salerInformation as b group by b.region

select a.* from  salerInformation as a 
where a.salerMoney<(select avg(b.salerMoney) from salerInformation as b where b.region=a.region group by b.region)


引用

表形式如下:
Year      Salary
2000        1000
2001        2000
2002        3000
2003        4000
想得到如下形式的查询结果
Year      Salary
2000      1000
2001      3000
2002      6000
2003      10000
sql语句怎么写?


drop table test;
create table test(
	years int,
	salary  int
)

insert into test(years,salary)values(2000,1000);
insert into test(years,salary)values(2001,2000);
insert into test(years,salary)values(2002,3000);
insert into test(years,salary)values(2003,4000);

SELECT 
	b.years, SUM (a.salary) salary 
FROM test a, test b 
WHERE a.years <= b.years 
GROUP BY b.years;
  • 大小: 17.9 KB
分享到:
评论
1 楼 makemyownlife 2010-08-27  
呵呵,这样的面试题sql 原来也做过 

相关推荐

    SQL面试题汇总.pdf

    在SQL面试题(1)的答案中,使用了`RIGHT JOIN`将`testtable1`和`testtable2`进行连接。右连接返回所有右表(在这里是`testtable2`)的记录,即使在左表(这里是`testtable1`)中没有匹配的记录。对于左表中没有...

    经典sql面试题

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

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

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

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

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

    经典SQL面试练习50多道题(含答案).docx

    经典SQL面试练习50多道题知识点总结 经典SQL面试练习50多道题(含答案)是SQL开发人员面试的必备知识之一,本文档总结了多种SQL面试题,涵盖了多表查询、删除冗余数据、查询符合条件的记录等多方面的知识点。下面对...

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

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

    SQL面试题.doc

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

    SQL面试宝典

    根据给定文件的信息,我们可以提炼出一系列SQL相关的知识点和技巧,这些内容对于准备参加SQL面试的人员来说非常有用。下面将对每个问题进行详细的解析。 ### SQL知识点详解 #### 1. 查询“001”课程比“002”课程...

    oraclesql面试题

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

    SQL 面试问题大全英文版

    根据提供的文件信息,我们可以归纳出一系列重要的SQL知识点及其相关内容。这份资料主要面向已经掌握SQL基础知识的...这些内容不仅有助于读者更好地理解SQL的核心概念,也为准备SQL面试的开发者提供了宝贵的参考材料。

    SQL面试宝典2010版

    SQL面试宝典2010版 本资源摘要信息涵盖了 SQL 面试中的多个知识点,包括查询优化、数据删除、数据组合、数据查询等。下面是对每个知识点的详细解释: 1. 查询每门课都大于 80 分的学生姓名 在这个问题中,我们...

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

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

    sql面试汇总 超经典

    ### SQL面试汇总经典知识点解析 #### 一、SQL语句执行流程与优化 - **重要性**:了解SQL语句的执行流程对于优化查询效率至关重要。 - **执行流程**: - 解析(Parse):将SQL语句转换成内部表示形式。 - 优化...

    sql面试题目和答案sql面试题目和答案sql面试题目和答案

    根据提供的文件信息,我们可以整理出以下几个关键的 SQL 面试题目及解答: ### 1. 使用 `GROUP BY` 处理数据 **题目描述**: 假设有一个表 #tmp,包含两列:日期 rq 和胜负标记 shengfu(其中 shengfu 可能为空)...

    oracle,sql面试题

    Oracle SQL 面试题知识点总结 本文档总结了 Oracle SQL 面试题中的常见知识点,涵盖了 SQL 语句编写、表操作、数据查询、数据分析等方面的内容。 一、SQL 语句编写 1. 查询每门课都大于 80 分的学生姓名: 可以...

    sql 面试题.rar

    这些是SQL面试中常见的主题,深入理解和实践这些知识点,可以为面试和实际工作中的数据库管理提供坚实的基础。通过不断的练习和实战,可以提升SQL技能,成为一名优秀的数据库管理员或开发人员。

    数据分析面试题-SQL面试题汇总.docx

    数据分析面试题-SQL面试题汇总 本文档汇总了两道数据分析面试题,涵盖了 SQL 编程语言的多个方面,包括建表、插入数据、排序、连接、分组、聚合函数、日期操作等。通过这两道题目,我们可以了解数据分析师需要具备...

    sql面试大全38题(基本包含所有知识点)

    ### SQL面试大全38题(基本包含所有知识点) #### 知识点概览 本篇内容将基于给定的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') ...

    SQL面试题4(不错).doc

    根据给定文件中的标题“SQL面试题4(不错).doc”、描述“SQL面试题(不错),比较详细,可以值得参考。”以及标签“sql”,我们可以看出这份文档主要聚焦于SQL语言的应用,尤其是针对面试场景下的题目解答。下面将...

Global site tag (gtag.js) - Google Analytics