MySql 从两个表中选择数据,不使用 join,而是使用单个 where 条件

标签 mysql sql

在 MySql 中,我可以在不使用联接和使用单个 where 声明的情况下从同一用户的两个单独表中选择数据吗?

示例: 表1

userSent | userId
      10 |      1

表2

userNew | userId
     15 |      1

sql 示例

(
select userSent from table1
union
select userNew from table2
) where userId = 1;

我实际上正在尝试从不同的表中获取同一用户的数据。尝试同时运行两个查询。

最佳答案

有可能,但我不推荐。

你可以这样做

select user from
(
select userSent as user,userId from table1
union all
select userNew,userId from table2
) tab 
where userId = 1;

但请记住,您首先要完全读取两个表,然后将它们组合起来(甚至可能在数据较多时在临时表中)并过滤此表。 性能噩梦!不要偷懒,发起两个查询。或者更好的是,加入这些查询。

关于MySql 从两个表中选择数据,不使用 join,而是使用单个 where 条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25155688/

相关文章:

php - 在 PHP 中循环名称属性 [] 以从 JSON 插入数据库

mysql - 在 MySQL 中选择 MIN 和 MAX

sql - 错误的SQL表结构

sql - 从 Excel 2010 导入到 SQL Server 2008R2 时出错

MYSQL多对多按多个值分组

mysql - WordPress - WP_query 计数

php - codeigniter - 在 View 中调用模型函数

mysql全文搜索不返回任何记录

sql - SQL Server 中的 DECODE() 函数

python - 从sql查询中重新组合python中的时间列表