废话不说,直接建表

1.表Player

 USE T4st -- 设置当前数据库为T4st,以便访问sysobjects
IF EXISTS(SELECT * FROM sysobjects WHERE name='Player')
DROP TABLE Player
CREATE TABLE Player
(
Code VARCHAR(4) PRIMARY KEY NOT NULL,
Name VARCHAR(50),
)
INSERT INTO Player VALUES('','赵甲');
INSERT INTO Player VALUES('','钱乙');
INSERT INTO Player VALUES('','孙丙');
INSERT INTO Player VALUES('','李丁');
INSERT INTO Player VALUES('','周戊');
INSERT INTO Player VALUES('','吴已');
INSERT INTO Player VALUES('','郑庚');
INSERT INTO Player VALUES('','王辛');
INSERT INTO Player VALUES('','冯壬');
INSERT INTO Player VALUES('','陈葵'); SELECT * FROM Player
GO

2.表Record

 USE T4st -- 设置当前数据库为T4st,以便访问sysobjects
IF EXISTS(SELECT * FROM sysobjects WHERE name='Record')
DROP TABLE Record
CREATE TABLE Record
(
Time DATETIME PRIMARY KEY NOT NULL,
Code VARCHAR(4),
Height VARCHAR(5),
Sucess VARCHAR(5)
)
INSERT INTO Record VALUES('2017-02-22 08:01:11','','1.80','False');
INSERT INTO Record VALUES('2017-02-22 08:02:32','','1.71','True');
INSERT INTO Record VALUES('2017-02-22 08:03:25','','1.81','True');
INSERT INTO Record VALUES('2017-02-22 08:04:22','','1.90','False');
INSERT INTO Record VALUES('2017-02-22 08:05:15','','1.90','True');
INSERT INTO Record VALUES('2017-02-22 08:07:06','','1.90','False');
INSERT INTO Record VALUES('2017-02-22 08:08:19','','1.91','True');
INSERT INTO Record VALUES('2017-02-22 08:09:18','','1.92','True');
INSERT INTO Record VALUES('2017-02-22 08:10:48','','1.81','True');
INSERT INTO Record VALUES('2017-02-22 08:12:36','','1.79','False'); SELECT * FROM Record
GO

3.判定特定时间段的成绩无效

 USE T4st
DECLARE @time1 DATETIME,@time2 DATETIME
SET @time1 ='2017-02-22 08:03:00'
SET @time2 ='2017-02-22 08:09:00'
BEGIN
SELECT * FROM Record WHERE Time > @time1 AND Time < @time2
--判定特定时间段的成绩无效
UPDATE Record SET Sucess='False' WHERE Time > @time1 AND Time < @time2
SELECT * FROM Record WHERE Time > @time1 AND Time < @time2
END
GO

4.两表联合查询输出到一起(成绩有效者的时间,姓名,高度)

 USE T4st
SELECT b.TIME,a.NAME,b.Height FROM Player a , Record b WHERE a.Code = b.Code AND b.Sucess='True' ORDER BY b.TIME ASC
GO

5.两表联合查询输出到一起(主要排名冠亚季军)

 USE T4st
SELECT c.NAME,c.SCORD,'冠军' AS DeJiang FROM (
SELECT a.NAME,MAX(b.Height) AS SCORD,
ROW_NUMBER() over(order by a.NAME) as ROWS
FROM Player a , Record b WHERE a.Code = b.Code AND b.Sucess='True' GROUP BY a.NAME) c WHERE c.ROWS = ''
UNION
SELECT c.NAME,c.SCORD,'亚军' AS DeJiang FROM (
SELECT a.NAME,MAX(b.Height) AS SCORD,
ROW_NUMBER() over(order by a.NAME) as ROWS
FROM Player a , Record b WHERE a.Code = b.Code AND b.Sucess='True' GROUP BY a.NAME) c WHERE c.ROWS = ''
UNION
SELECT c.NAME,c.SCORD,'季军' AS DeJiang FROM (
SELECT a.NAME,MAX(b.Height) AS SCORD,
ROW_NUMBER() over(order by a.NAME) as ROWS
FROM Player a , Record b WHERE a.Code = b.Code AND b.Sucess='True' GROUP BY a.NAME) c WHERE c.ROWS = ''
GO

运行结果如下:

sql 建表以及查询---复杂查询之成绩排名的更多相关文章

  1. Oracle笔记(十一) 建表、更新、查询综合练习

    有某个学生运动会比赛信息的数据库,保存了如下的表: 运动员sporter(运动员编号sporterid,运动员姓名name,运动员性别sex,所属系号department) 项目item(项目编号it ...

  2. sql建表,建索引注意事项

    建表注意 .建议字段定义为NOT NULL 搜索引擎 MyISAM InnoDB 区别 InnoDB和MyISAM是许多人在使用MySQL时最常用的两个表类型,这两个表类型各有优劣,视具体应用而定.基 ...

  3. sql建表经验总结——主要是建表现象

    在建表方面你都有哪些感悟? 见过的建表的一些现象: 1,一对多业务,有时候在主表见一个字段xxIds,然后存多表的id,多个英文逗号隔开,不知道这样好不好? 2,大部分字段建成varchar(50), ...

  4. spark sql建表的异常

    在使用spark sql创建表的时候提示如下错误: missing EOF at 'from' near ')' 可以看下你的建表语句中是不是create external table ....   ...

  5. SQL 建表与查询 HTML计算时间差

    create database xue1 go --创建数据库 use xue1 go --引用数据库 create table xinxi ( code int, name ), xuehao ), ...

  6. sql server 表变量存储临时查询数据

    对于使用sql server 编写存储过程或者类似的sql 查询的时候我们使用表变量进行临时数据的存储,可以方便我们进行下来的数据处理 表变量的使用类似如下: declare @userinfo ta ...

  7. Oracle的关于建表,约束,查询等的练习

    从建立一个简单表,到实现一些复杂查询的例子, DROP TABLE grade;DROP TABLE item;DROP TABLE sporter;CREATE TABLE sporter( spo ...

  8. sql:Oracle11g 表,视图,存储过程结构查询

    -- Oracle 11 G --20160921 涂聚文再次修改 --Geovin Du --GetTables SELECT owner, object_name, created FROM al ...

  9. 一个SQL 建表格式

    CREATE TABLE [dbo].[SysSample]([Id] [varchar](50) NOT NULL,[Name] [varchar](50) NULL,[Age] [int] NUL ...

随机推荐

  1. python 智能合约日志操作

    from __future__ import unicode_literals import json from time import sleep, time # 中文编码 def encode_s ...

  2. 如何理解*p++

    后置递增运算符的优先级高于解引用运算符! *p++ 等价于 *(p++) 但是,我们*p++的求值结果不可理解为p+1指向的对象的值,而应该是p指向的对象的值. 这是由于后置++的特性引起的. *p+ ...

  3. Android 数据存储 之 SQLite数据库详解

    . 作者 :万境绝尘 转载请注明出处 : http://blog.csdn.net/shulianghan/article/details/19028665 . SQLiteDataBase示例程序下 ...

  4. c语言作业1

  5. my.conf 修改编码

    mysql汉字乱码的原因 mysql默认的编码是Latin1是I-8859-1的别名,但Latin1是不支持汉字的,所以要将其改为UTF-8或GBK 1.关闭mysql服务器,这个很重要. 2.通过m ...

  6. Python基础教程系列目录,最全的Python入门系列教程!

    Python是一个高层次的结合了解释性.编译性.互动性和面向对象的脚本语言. 在现在的工作及开发当中,Python的使用越来越广泛,为了方便大家的学习,Linux大学 特推出了 <Python基 ...

  7. 前端基础:JavaScript BOM对象

    JavaScript BOM对象 JavaScript Window - 浏览器对象模型 浏览器对象模型(BOM)使JavaScript有能力与浏览器"对话". 浏览器对象模型(B ...

  8. hdu 1086 You can Solve a Geometry Problem too (几何)

    You can Solve a Geometry Problem too Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/3 ...

  9. CentOS 挂载(U盘NTFS格式,新硬盘,增加交换分区,扩展根分区等)

    1.挂载fat或者fat32分区的U盘 如果是用VM安装的linux,在vm里挂载U盘有两个前提: 第一,主机里的service要启动: 第二,U盘是连接到虚拟机,而不是主机,需要确认这点: 2.使用 ...

  10. C++中Map的使用 (个人简单的对于String的使用)

    #include<map> #include<iostream> #include<string> using namespace std; int main() ...