查询 2 个相似的表 SQLITE
Query 2 similar tables SQLITE
所以我的数据库中有 2 个表。
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
如果我想 select 一切 来自 客户 其中 年龄 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')
但我想 select 从两个表中提取这个东西并将它们合并...
我应该使用什么查询命令才能使我的输出为:
('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 个表。
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
如果我想 select 一切 来自 客户 其中 年龄 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')
但我想 select 从两个表中提取这个东西并将它们合并...
我应该使用什么查询命令才能使我的输出为:
('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
列的匹配值引号被删除。