3
我有一个带有几个表格的MYSQL数据库,它们都具有相同的结构。我想要搜索所有表格以找到具有特定列值的行。我是否必须逐一搜索表格还是有更简单的方法?在同一个值中搜索多个表格
我有一个带有几个表格的MYSQL数据库,它们都具有相同的结构。我想要搜索所有表格以找到具有特定列值的行。我是否必须逐一搜索表格还是有更简单的方法?在同一个值中搜索多个表格
很容易做到,也测试了MySQL工作台。
全选:
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'
你可以联合所有的表。你仍然需要逐个遍历所有的表,但在union
情况下,你不会有笛卡尔乘积,因此,所有最好的:
SELECT column FROM table1 WHERE column = 'value'
UNION ALL
SELECT column FROM table2 WHERE column = 'value'
;
我认为,更好地利用工会,因为独立用逗号表表示它是笛卡尔乘法和联合 - 不,即使你使用union all ... – 2015-02-05 19:43:22
嗯。没有,适合我。 – technology101010 2015-02-05 19:54:17
@StephenCarr是正确的,唯一可能做的不同是给每个表分配别名,这样你可以在唯一命名的列 – Matth3w 2016-01-07 00:24:11