Php 联合循环?还是单一查询?
若我使用UNION从数据库中进行多个选择,是否将其视为一个查询?还是多个查询Php 联合循环?还是单一查询?,php,mysql,sql,mysqli,Php,Mysql,Sql,Mysqli,若我使用UNION从数据库中进行多个选择,是否将其视为一个查询?还是多个查询 SELECT column_name(s) FROM table1 UNION SELECT column_name(s) FROM table2; 这是一个单一的查询吗?还是两个问题 (我每小时的查询次数有限,我希望优化我的代码) 谢谢 来自文档: SQL UNION运算符用于组合2个或更多的结果集 选择语句。它将删除不同行之间的重复行 选择语句 因此,您的两个select组合到一个查询中;) 正如其他人所指出的,
SELECT column_name(s) FROM table1
UNION
SELECT column_name(s) FROM table2;
这是一个单一的查询吗?还是两个问题
(我每小时的查询次数有限,我希望优化我的代码)
谢谢 来自文档: SQL UNION运算符用于组合2个或更多的结果集 选择语句。它将删除不同行之间的重复行 选择语句 因此,您的两个select组合到一个查询中;)
正如其他人所指出的,这是一个问题 当编码到项目中时,我会小心这种方法,除非这两个表有非常相似的数据,原因如下 A)
table1
select中的列数必须与table2
select中的列数相匹配。您可以通过添加NULL
列来解决这个问题
B) 您将丢失第二次选择的列名
C) 从框中无法分辨哪些行来自哪个表。您可以通过向每个select添加一个静态类型列来解决这个问题
D) 很容易漏掉一些东西并使用错误的数据
作为补充说明。您使用的是
UNION
,它将从结果中删除重复项,尽管两个表中的数据可能不太可能相同;如果您试图减少总查询量,那么从概念上看,您似乎需要一个UNION ALL
它是一个查询,一个查询只有3个不同的语句