作者:百度 来源:百度空间   酷勤网收集 2008-04-06

摘要
  题目描述:SQL中SELECT语句用于从数据库中查询记录。某个工程项目数据库中有一个表,表中满足某个条件的记录数要被频繁查询。查询表中满足某条件的记录数的SELECT语句如下……

题目描述:

SQL中SELECT语句用于从数据库中查询记录。某个工程项目数据库中有一个表,表中满足某个条件的记录数要被频繁查询。查询表中满足某条件的记录数的SELECT语句如下:

SELECT记录数语句: “SELECT COUNT(*)”+“ ”+ FROM部分+“ ”+WHERE部分

                      或者

                      “SELECT COUNT(*)”+“ ”+ FROM部分

SELECT记录语句:    “SELECT *”+“ ”+ FROM部分+“ ”+WHERE部分

                      或者

                      “SELECT *”+“ ”+ FROM部分

TABLENAME:           基本单元

FROM 部分:“FROM”+“ ”+TABLENMAE 或者 “FROM (”+SELECT记录语句+“)”

PROPERTY:        基本单元

VALUE:            基本单元

条件部分: PROPERTY +“=”+VALUE或者PROPERTY +“=”+VALUE+“ ”+“and”+“ ”+条件部分

WHERE部分:“WHERE”+“ ”+条件部分

基本单元:由大小写字母和数字字符(0-9)组成的长度不超过10的非空字符串


给定表中的所有记录,根据给定的SELECT记录数语句要求输出相应的结果(满足条件的总记录数)。


数据输入:

       有多个测试例子:

       每个测试例子:第一行两个整数N(2 < N <= 1000)和M(0< M <= 10000)分别表示数据库中表的记录数和查询次数;第二行是一个表名(TABLENAME);第三行表中的C列属性名(PROPERTY)(0 < C < 11),之间用空格隔开,列属性名各不相同;接下来N行,每行表示一个记录,有C个VALUE,之间用空格隔开;接下去有M行,每行一个SELECT记录数语句,每个SELECT记录数语句长度(包括空格)不超过1000,输入数据保证每条SELECT记录数语句满足上面的定义,并且SELECT记录数语句中出现的表名和输入的表名一致。


数据输出:

       每个测试例子输出M行每行一个整数表示SELECT语句输出的结果。


输入样例:

5 6

Book

BookName Price PublishDate Author

NBAsports 10    2004        dearboy

SQL       20    2002        absorbed

IntrotoAlgorithm 59 2002    Thomas

MultipeView     60  2002    RichardHautley

NBAsports  10    2004        dearboy

SELECT COUNT(*) FROM Book WHERE BookName=NBAsports and Author=dearboy

SELECT COUNT(*) FROM Book WHERE Price=20

SELECT COUNT(*) FROM Book WHERE Author=lala

SELECT COUNT(*) FROM (SELECT * FROM Book WHERE BookName=NBAsports)

SELECT COUNT(*) FROM (SELECT * FROM Book WHERE BookName=NBAsports) WHERE Price=20

SELECT COUNT(*) FROM Book


输出样例:

2

1

0

2

0

5


注意:大量数据建议使用scanf(), printf(),gets()读写数据

来自:http://hi.baidu.com/astar/blog/item/e6d9a9ecc168912662d09fe0.html

分类: IT竞赛比赛 培训考证

上一篇:2007年百度之星程序设计大赛初赛题目:Wii游戏开始啦!   下一篇:2007年百度之星程序设计大赛初赛题目:繁忙的会议室预定问题