题目描述:
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