如何在Python中比较两个SQLite数据集并搜索相似之处?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在Python中比较两个SQLite数据集并搜索相似之处?相关的知识,希望对你有一定的参考价值。
基本上,我有两个数据库。一个用于“学生”,一个用于“老师”。教师数据库已保存在服务器上,学生数据库将通过用户输入创建。
这是给老师的(也分别保存在teacher.db文件中)
c.execute(“””CREATE TABLE teacher(
ID varchar,
name text
age integer
interest1 varchar
interest2 varchar
)”””)
conn.commit()
conn.close()
例如:c.execute(“INSERT INTO student VALUES (‘Lisa’, ‘35’, ‘spanish’, ‘productivity’)
这是学生的表格,数据将保存在名为student.db的单独文件中
c.execute(“””CREATE TABLE student(
ID varchar,
name text
age integer
interest1 varchar
interest2 varchar
)”””)
conn.commit()
conn.close()
一个人的例子看起来像这样:
c.execute(“INSERT INTO student VALUES (‘Max’, ‘23’, ‘spanish’, ‘programming’)”
现在,我想比较创建第二个数据库的用户输入。我们可以看到双方都使用了“西班牙语”的价值。现在我想创建一个这样的算法:如果学生使用的关键字等于教师数据库中的一个数据集,我想打印出他们的名字。
如果那时我试着用,但没有真正有用。
这是我学习python的第二天,即使这听起来很愚蠢,也应该很好。
答案
我写了一个sql查询,我还在想办法简化这个,
SELECT name
from student
where
student.interest1 in ((select interest1 from teacher) UNION (select interest2 from teacher))
or student.interest2 in ((select interest1 from teacher) UNION (select interest2 from teacher));
这应该工作,这个查询通过检查学生的interest1或interest2是否匹配教师的任何一个兴趣来工作。只需在游标内部运行它就应该返回一组名称。
以上是关于如何在Python中比较两个SQLite数据集并搜索相似之处?的主要内容,如果未能解决你的问题,请参考以下文章