如何在 Python 中比较两个 SQLlite 数据集并搜索相似之处?



所以基本上,我有两个数据库。一个用于"学生",一个用于"老师"。教师数据库已保存在服务器上,学生数据库将通过用户输入创建。

这是给教师的(也单独保存在教师.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’)” 

现在,我想比较创建第二个数据库的用户输入。我们可以看到双方都使用了"西班牙语"这个值。现在我想创建一个这样的算法:如果学生使用的关键字等于教师数据库中的数据集之一,我想打印出他们的名字。

我试图与 if 一起工作,但没有任何效果。

这是我学习 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));

这应该有效,此查询通过检查学生的兴趣 1 或兴趣 2 是否与教师的任何一个兴趣相匹配来工作。 只需在光标内运行它,它应该会返回一组名称。

相关内容

  • 没有找到相关文章