mysql - 组合选择查询

标签 mysql

我正在使用 MySQL 数据库。我想结合三个选择查询,以“提高性能”。下面的每个选择都取决于先前检索到的 ID。

到目前为止,我已经尝试了以下...

# multiple select from tables
select user.name, group.ID
  from user as u, group as g
  where u.name = <name_here>

# inner join...
select user.ID, group.ID,
  from user
    inner join group
      on user.ID = group.ID

我需要根据用户名参数选择 user.name 和 group.ID。有没有办法在一条语句中查询这些数据?

最佳答案

不知道我是否理解你的需求,让我们试试:

尝试使用这个查询:

select pGroupMatch.GroupID, ProfileData.ID
from pUserMatch
inner join pGroupMatch on pGroupMatch.GroupID = pUserMatch.GroupID 
inner join ProfileData on ProfileData.id = pGroupMatch.ProfileID 
where pUserMatch.username = "<username>";

检查你是否可以创建索引来改进你的查询,如果你可以试试:

CREATE INDEX idx_pUserMatch_01 ON pUserMatch (GroupID);
CREATE INDEX idx_pGroupMatch_01 ON pGroupMatch (ProfileID);

关于mysql - 组合选择查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39124106/

相关文章:

php - 我的数据库库存计数一直从 28 开始?

php - 如何纠正 mysql php 更新中的错误?

mysql - 在 MySQL 中连接两个或多个 View

mysql - 找不到导致mysql语句错误的问题

MySQL 错误代码 : 1064 When using SELECT CASE with aggregate functions

php - 模拟数组在数据库中存储字符串

运行 mysql 命令大文件时 MySQL 消失错误

mysql - 为应用程序设置数据库的更好方法是什么?标准化与现实世界

php - 如何将我的日期时间存储为数据库中的日期

php - 从单独的表 laravel 中引用 2 列的列