在多个表中搜索相同的值

时间:2015-02-05 19:14:48

标签: mysql database

我有一个带有几个表的MYSQL数据库,所有表都具有相同的结构。我想搜索所有表以查找具有列的特定值的行。我是否必须逐个搜索表格,或者有更简单的方法?

2 个答案:

答案 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'