[英]How to search multiple tables at the same time in sqlite3?
我正在设计一个登录页面。 我有三桌students
, professors
, dean
。 我想获取给定用户名的密码并检查它是否正确。 我可以为一张桌子做到这一点:
def get_password_by_username(username):
c.execute("SELECT password FROM students WHERE username = :username", {"username": username})
return c.fetchone()
如何同时在所有三个表中搜索用户名? 谢谢。
这个查询:
SELECT username, password FROM students
UNION ALL
SELECT username, password FROM professors
UNION ALL
SELECT username, password FROM dean
返回 3 个表中的所有用户名和密码,您可以过滤以获取密码,如下所示:
SELECT password
FROM (
SELECT username, password FROM students
UNION ALL
SELECT username, password FROM professors
UNION ALL
SELECT username, password FROM dean
)
WHERE username = :username
你可以用逗号分隔它们
def get_password_by_username(username):
c.execute("SELECT password FROM students, professors, dean WHERE username=?", (username,)
return c.fetchone()
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.