Python 查询2个类似的表SQLITE
因此,我的数据库中有两个表Python 查询2个类似的表SQLITE,python,sql,python-3.x,sqlite,mysql-python,Python,Sql,Python 3.x,Sqlite,Mysql Python,因此,我的数据库中有两个表 staff: name age mail John 20 john@john.john Robert 25 robert@robert.robert customers: name age mail Bob 21 bob@bob.bob Mara 20 mara@mara.mara Trisha 20 trisha@trisha.trisha Melina
staff:
name age mail
John 20 john@john.john
Robert 25 robert@robert.robert
customers:
name age mail
Bob 21 bob@bob.bob
Mara 20 mara@mara.mara
Trisha 20 trisha@trisha.trisha
Melina 23 melina@melina.melina
如果我想从客户中选择一切,其中年龄为20,我使用以下选项:
extracting = mydb.execute("SELECT * FROM customers WHERE age = '20'")
20s_users = extracting.fetchall()
for i in 20s_users:
print(i)
python中的输出是
('Mara', '20', 'mara@mara.mara')
('Trisha, '20', 'trisha@trisha.trisha')
但我想从两个表中选择这个东西,并将它们组合起来
我应该使用什么查询命令才能输出:
('John' '20' 'john@john.john')
('Mara', '20', 'mara@mara.mara')
('Trisha, '20', 'trisha@trisha.trisha')
您只需要一个
UNION-ALL
子句,例如
extracting = mydb.execute("""
SELECT *
FROM
(
SELECT * FROM customers
UNION ALL
SELECT * FROM staff
) AS cs
WHERE age = 20
""")
其中,考虑到数据类型为数字,删除了包含
age
列匹配值的引号。是的,确实有效。我在谷歌上找到了第2页,试图通过stackoverflow上的一些其他人的问题找到这个+但没有找到任何包含这个联盟的东西。非常感谢您的回复!不客气@CalinN96