`
wangleide414
  • 浏览: 606543 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

sql 笔试

阅读更多

关键字: sql 笔试题

有三个表:
学生表:student  字段:stuID,chinesename,sex,scholarship(奖学金)
成绩表:grade    字段:graID,studID,courceID,grade
课程表:cource    字段:courceID,courceName,xuefen
求:查询分数都在90分以上的学生的stuID,chinesename
create table student(stuID int,chinesename nvarchar(20),sex int,scholarship money)
go
insert into student select 1,'allen',1,500 union all
select 2,'tom',1,0 union all
select 3,'jordan',1,1000 union all
select 4,'kobe',1,0
go
create table grade(graID int,stuID int,courceID int,grade decimal(4,1))
insert into grade select 1,4,1,80.8 union all
select 2,4,2,90 union all
select 3,4,3,100 union all
select 4,3,1,55 union all
select 5,3,2,86 union all
select 6,3,3,90.5 union all
select 7,1,1,95 union all
select 8,1,2,99.5 union all
select 9,1,3,96 union all
select 10,2,1,60 union all
select 11,2,2,66 union all
select 12,2,3,68
go
create table cource(courceID int,courceName nvarchar(20),xuefen int)
insert into cource select 1,'语文',5 union all
select 2,'数学',6 union all
select 3,'外语',6

select * from student where stuID in(
select stuID from grade
where grade>90
group by stuid having count(*)=(select count(*) from cource))

 

 

 

 

select s.stuID,s.chinesename from student s inner join grade g on s.stuID=g.stuID inner join cource c on c.courceID=g.courceID
where g.grade>=90 group by s.stuID,s.chinesename having count(g.courceID)=(select count(*) from cource)

 

学员分数表   
  姓名                     科目           分数   
  zhang   san         语文             60   
  lisi                   语文             71   
  wangwu               语文             61   
  zhaoliu             语文             90   
  .....       
    
    
  所得结果     
    
  姓名   
  zhang   san         语文             第四名   
  lisi                   语文             第二名   
  wangwu               语文             第三名   
  zhaoliu             语文             第一名   
              想破头也想不出来,敬请高人指点,谢谢!
 
 
  DECLARE   @T   TABLE(NAME   VARCHAR(50),SUBJECT   VARCHAR(20),GRADE   INT)   
  INSERT   @T   SELECT   ’zhang   san’,’语文’,60   
  UNION   ALL   SELECT   ’lisi’,’语文’,71   
  UNION   ALL   SELECT   ’wangwu’,’语文’,61   
  UNION   ALL   SELECT   ’zhaoliu’,’语文’,90   
    
  SELECT   
            NAME,   
            SUBJECT,   
            PM=(SELECT   COUNT(1)   FROM   @T   WHERE     GRADE>=A.GRADE)   
  FROM   @T   A   
 
 
 
 
 
 
 
 
 
SELECT   *   INTO   #TB_SCORE   
  FROM   
  (   
  SELECT   ’zhang   san’姓名,’语文’课程,’60’成绩   
  UNION   ALL   
  SELECT   ’lisi’姓名,’语文’课程,’71’成绩   
  UNION   ALL   
  SELECT   ’wangwu’姓名,’语文’课程,’61’成绩   
  UNION   ALL   
  SELECT   ’zhaoliu’姓名,’语文’课程,’90’成绩   
  UNION   ALL   
  SELECT   ’youran’姓名,’语文’课程,’60’成绩   
  )A   
    
  SELECT   *   FROM   #TB_SCORE   
    
  SELECT   姓名,课程,#TB_SCORE.成绩,’第’+CONVERT(VARCHAR(2),名次)+’名’AS   名次   
  FROM   #TB_SCORE   
  INNER   JOIN   
  (   
    SELECT   成绩,名次=(SELECT   COUNT(1)   FROM(SELECT   DISTINCT   成绩   FROM   #TB_SCORE)B   WHERE   B.成绩>=A.成绩)   
    FROM   
    (SELECT   DISTINCT   成绩   FROM   #TB_SCORE)A   
  )T   ON   T.成绩   =   #TB_SCORE.成绩   
  ORDER   BY   名次
  select   姓名=a.name,科目=a.kemo,   
  名次=case     when   (select   count(fenshu)from   Type   where   fenshu>a.fenshu)+1=1   then   ’第一名’   
  when   (select   count(fenshu)from   Type   where   fenshu>a.fenshu)+1=2   then   ’第二名’   
  when   (select   count(fenshu)from   Type   where   fenshu>a.fenshu)+1=3   then   ’第三名’   
  when   (select   count(fenshu)from   Type   where   fenshu>a.fenshu)+1=4   then   ’第四名’   
  end     from   Type   as   a

 

 

京尚良楷诚网络 sql笔试题
时间:2009年1月13日 作者:
  
 
群上的兄弟,谁帮忙做下这个题目:   
    
  一个简单的表TABLE   有100条以上的信息,其中包括:   
  产品                   颜色                           数量   
  产品1                   红色                           123   
  产品1                   蓝色                           126   
  产品2                   蓝色                           103   
  产品2                   红色                           NULL   
  产品2                   红色                           89   
  产品1                   红色                           203   
  。。。。。。。。。。。。   
  请用SQL语句完成以下问题:   
    
    
  1。按产品分类,仅列出各类商品中红色多于蓝色的商品名称及差额数量:   
    
    
    
    
    
  2。按产品分类,将数据按下列方式进行统计显示   
              产品                   红色                       蓝色   
 
 
 
 
按产品分类,将数据按下列方式进行统计显示   
  create   table   test(产品   varchar(10),颜色   varchar(10),数量   int)   
  insert   test   select   ’产品1’,’红色’,123   
  insert   test   select   ’产品1’,’蓝色’,126   
  insert   test   select   ’产品2’,’蓝色’,103   
  insert   test   select   ’产品2’,’红色’,NULL   
  insert   test   select   ’产品2’,’红色’,89   
  insert   test   select   ’产品1’,’红色’,203   
  select   *   from   test   
  select   产品,红色=sum(case   when   颜色=’红色’   then   数量   else   0   end),   
  蓝色=sum(case   when   颜色=’蓝色’   then   数量   else   0   end)   from   test   group   by   产品
 
 
 
  select   产品,sum(case   when   颜色=’红色’   then   数量   else   0   end)-sum(case   when   颜色=’蓝色’   then   数量   else   0   end)   as   差额   
  from   test     
  group   by   产品   
  having   sum(case   when   颜色=’红色’   then   数量   else   0   end)>sum(case   when   颜色=’蓝色’   then   数量   else   0   end)   
 
 
 
如果只有两种颜色也可以这样:   
  1:   
  select   产品,sum(IsNull(数量,0)   *     Replace(replace(颜色,’红色’,1),’蓝色’,-1))   
  from   test   
  group   by   产品   
  having   sum(IsNull(数量,0)   *     Replace(replace(颜色,’红色’,1),’蓝色’,-1))>0   
    
  2:   
  select   产品,sum(IsNull(数量,0)   *     Replace(replace(颜色,’红色’,1),’蓝色’,0))   
  ,sum(IsNull(数量,0)   *     Replace(replace(颜色,’红色’,0),’蓝色’,1))   
  from   test   
  group   by   产品   
  having   sum(IsNull(数量,0)   *     Replace(replace(颜色,’红色’,1),’蓝色’,-1))>0   
 
 
 
create   table   test(产品   varchar(10),颜色   varchar(10),数量   int)   
  insert   test   select   ’产品1’,’红色’,123   
  insert   test   select   ’产品1’,’蓝色’,126   
  insert   test   select   ’产品2’,’蓝色’,103   
  insert   test   select   ’产品2’,’红色’,NULL   
  insert   test   select   ’产品2’,’红色’,89   
  insert   test   select   ’产品1’,’红色’,203   
  --1   
  select   产品,sum(a)   
  from   
  (   
  select   产品,-数量   as   a   
  from   test   
  where   颜色=’蓝色’   
  union   all   
  select   产品,数量   as   a   
  from   test   
  where   颜色=’红色’   
  )   as   b   
  group   by   产品   
  having   sum(a)>0   
  --2   
  select   产品,红色=sum(case   when   颜色=’红色’   then   数量   else   0   end),   
  蓝色=sum(case   when   颜色=’蓝色’   then   数量   else   0   end)   from   test   group   by   产品   
  --表怪怪的
分享到:
评论

相关推荐

    SQL笔试题(转载的)

    这篇文档《2011 SQL笔试题》及其压缩包资源,显然是为了帮助学习者或者应聘者准备SQL相关的面试或笔试而准备的。 SQL的基础知识点包括: 1. **数据类型**:SQL支持多种数据类型,如整数(INT)、浮点数(FLOAT)、...

    常见的SQL笔试选择题含答案.docx

    以下是一些关于SQL笔试选择题中的关键知识点: 1. **关系型数据库**:关系型数据库是一种以表格形式存储数据的数据库,其中数据之间的关系可以通过外键进行关联。题目中提到的Oracle和MySql都是典型的关系型数据库...

    SQL笔试题,及其答案

    这些文档集合,如"SQL上机考试与阅卷系统.doc"、"《SQL数据库管理与开发》试题(K卷).doc"等,提供了丰富的SQL笔试题目,旨在帮助初学者和求职者提升SQL技能并准备面试。 在SQL笔试题中,常见的知识点包括但不限于...

    SQL笔试题库(有答案)

    SQL笔试题库。

    sql笔试面试题目(oracle,含答案)

    题目包含:1.基本SQL-SELECT语句 2.过滤和排序数据 3.单行函数 4.多表查询 5.分组函数 6.子查询 7.创建和管理表 8.数据处理 9.约束 10.视图 11.数据库对象 12.企业sql笔试题目 等

    经典的SQL笔试题题目

    经典sql练习,几道经典的SQL笔试题题目。sql就在于多多练习

    SQL笔试题(公司应聘人员所用)

    SQL笔试题知识点总结 以下是根据给定的文件信息,生成的相关知识点总结: 一、基本概念 1. 数据库管理系统(DBMS):数据库管理系统是一个软件系统,用于创建、设计、管理和维护数据库。 2. RDBMS(Relational ...

    sql 笔试经典

    在进行SQL笔试时,面试者通常会被要求解决各种数据库查询、数据操作、数据库设计以及性能优化等问题。本篇文章将详细探讨SQL笔试中的核心知识点,帮助你更好地理解和应对这类考试。 1. **基本查询操作**: - `...

    大公司sql笔试题

    1到3年工作经验的 sql面试笔试题(通过面试360,华为,阿里收集)

    sql 笔试题包含了sql的基础知识 有好几种题型 有答案

    ### SQL笔试题概述 该文件提供了一系列SQL基础知识的笔试题目,并附带了多种题型及其答案。这些题目旨在帮助读者复习和巩固SQL基础知识。 ### SQL基础知识详解 #### 1. SQL基础操作 - **SQL文件管理**:SQL文件...

    SQL 笔试题 数据库笔试题

    SQL 笔试题是数据库领域中的一个重要组成部分,涉及到数据库的各个方面,包括触发器、存储过程、索引、内存泄漏、事务、锁、视图、游标等知识点。 1. 触发器的作用:触发器是一种特殊的存储过程,通过事件来触发...

    自己整理的sql笔试题

    SQL笔试题通常考察应聘者对于SQL语言的理解和实际应用能力,尤其是查询语句的编写、SQL函数的使用,以及多表连接操作等。本次整理的SQL题目覆盖了这些基础而又核心的知识点。 首先,基础查询语句的编写是考察的重点...

    十家互联网大厂SQL笔试题

    十家互联网大厂SQL笔试题 本资源为十家互联网大厂的SQL笔试题,涵盖了多个方面的SQL知识点,如用户活跃、留存和粘性分析、红包流向探索分析等。以下是对应的知识点: 一、用户活跃、留存和粘性分析 1. 活跃用户数...

    10家互联网大厂SQL笔试题目和答案合集

    这个"10家互联网大厂SQL笔试题目和答案合集"提供了丰富的实践材料,帮助学习者提升SQL技能,以应对可能的面试或工作挑战。 首先,SQL的基础知识包括数据查询、数据更新、数据插入和数据删除,这些是SQL的四大基本...

    sql 笔试题总结版

    根据给定的文件信息,以下是对SQL笔试题的详细知识点解析: ### 1. 查询第30部门的所有员工 题目要求查询所有属于部门编号为30的员工信息。 ```sql SELECT * FROM iv_emp WHERE deptno = 30; ``` ### 2. 查询所有...

    常见sql笔试题.pdf

    SQL笔试题解析 本文将对常见SQL笔试题进行解析,涵盖了多个知识点,包括统计查询、条件判断、日期统计等。下面是对每个题目的详细解析。 1. 统计查询SQL练习 问题:统计查询SQL练习,数据库中表结构如下,字段...

    SQL笔试题答案(可以参考一下)

    "SQL笔试题答案" 在本资源中,我们将逐步解释SQL笔试题的答案。这些问题涵盖了SQL基础知识、数据类型、数据操作语言(DML)、数据定义语言(DDL)、事务控制、索引、触发器、视图等方面。 单词解释 在SQL中,了解...

    2022届-实施工程师-SQL笔试题.docx

    SQL笔试题知识点总结 本资源摘要信息涵盖了SQL笔试题的知识点,包括SQL命令、查询语句、数据类型、数据库设计等方面的知识。 一、SQL基本命令 * 使用UPDATE命令将学生表STUDENT中的学生年龄AGE字段的值增加1岁,...

    sql经典笔试题一(含答案)

    SQL是Structured Query Language的缩写,是用于管理和...以上就是SQL笔试题涉及的关键知识点,涵盖了数据库基础概念、SQL语句的使用以及事务和索引的理解。理解并熟练掌握这些概念对于数据库管理和开发工作至关重要。

    SQL笔试选择题.doc

    SQL笔试选择题 本文是关于SQL笔试选择题的知识点总结,涵盖数据库设计、数据冗余、实体关系图、主键、唯一约束、子查询、存储过程、数据库规范化等方面的知识点。 数据库设计 * 数据库设计的最终目标包括高效、...

Global site tag (gtag.js) - Google Analytics