我有一个带有几个表的MYSQL数据库,所有表都具有相同的结构。我想搜索所有表以查找具有列的特定值的行。我是否必须逐个搜索表格,或者有更简单的方法?
答案 0 :(得分:5)
您可以联合所有表格。你仍然需要逐个遍历所有表格,但是在union
的情况下你不会有笛卡尔乘法,因此最好的是:
SELECT column FROM table1 WHERE column = 'value'
UNION ALL
SELECT column FROM table2 WHERE column = 'value'
;
答案 1 :(得分:4)
轻松完成并在MYSQL WORKBENCH中进行测试。
全选:
SELECT * FROM table_one, table_two;
从两个表中选择一个值:
SELECT * FROM table_one, table_two WHERE field = 'some_val'
从两个表格中选择多个值:
SELECT * FROM table_one, table_two WHERE field = 'some_val' AND field2 = 'some_val' AND field3 = 'some_val'