在python/C++中激发SQLlike查询工具
Stimulate SQL like query tool in python/C++
实现 SQL 之类的查询工具,其中必须按给定顺序从 STDIN 读取以下内容:-
1. Number of rows of the table (n) and Number of queries (q).
2. Table fields separated by Comma.
3. n line containing table rows of the table
4. q queries where clause.
我们必须在 STDOUT 上打印每个查询的输出。
例如:-
输入:
4,2
"Name","Age","Sex","Salary"
1,"Joy",21,"M",2000
2,"Alan",28,"M",500
3,"John",30,"M",1000
4,"Nemo",45,"F",1500
Salary>=1000
Sex="M" and Salary>499
输出:
2
3
你们能告诉我应该如何处理这个问题吗?
我应该使用什么数据结构来存储 table 和处理查询?
PS: 我不是要现成的解决方案,我只是需要一步一步的帮助来解决这个问题。
我猜这个练习很刺激 SQL 就像练习(而不是真正的 SQL 因为这是显而易见的解决方案)。
我有一个字典列表(每行一个字典)用数据填充它,然后使用列表理解来过滤行
[ line for line in lines if (line['Sex']=='M') and (line['Salary'] > 499)]
当然,要创建这样的 python 命令,您需要进行大量解析 - 但这是方向
实现 SQL 之类的查询工具,其中必须按给定顺序从 STDIN 读取以下内容:-
1. Number of rows of the table (n) and Number of queries (q).
2. Table fields separated by Comma.
3. n line containing table rows of the table
4. q queries where clause.
我们必须在 STDOUT 上打印每个查询的输出。
例如:-
输入:
4,2
"Name","Age","Sex","Salary"
1,"Joy",21,"M",2000
2,"Alan",28,"M",500
3,"John",30,"M",1000
4,"Nemo",45,"F",1500
Salary>=1000
Sex="M" and Salary>499
输出:
2
3
你们能告诉我应该如何处理这个问题吗? 我应该使用什么数据结构来存储 table 和处理查询?
PS: 我不是要现成的解决方案,我只是需要一步一步的帮助来解决这个问题。
我猜这个练习很刺激 SQL 就像练习(而不是真正的 SQL 因为这是显而易见的解决方案)。
我有一个字典列表(每行一个字典)用数据填充它,然后使用列表理解来过滤行
[ line for line in lines if (line['Sex']=='M') and (line['Salary'] > 499)]
当然,要创建这样的 python 命令,您需要进行大量解析 - 但这是方向