【问题标题】:mysqli select with or without JOINmysqli 选择有或没有 JOIN
【发布时间】:2022-11-26 15:07:25
【问题描述】:

在过去,我使用这种方式从两个或多个表中选择数据:例如

SELECT id,name FROM table WHERE ...
// and after get data, use second request
SELECT title FROM table_two WHERE id=$ID
// and here, id come from first query

过了一会儿,我发现了这种方式:

SELECT t1.id,t1.name,t2.title FROM table as t1,table_two as t2 WHERE ... AND t1.id=t2.id

然后在一个查询中,我从两个表或更多表中获取我想要的所有数据(例如,从 4 个表中获取数据)

但我想知道这是获取数据的好方法吗?我应该在查询中使用 JOIN 吗?你能给我一个 JOIN 的例子吗?

SELECT t1.id,t1.name,t2.title FROM table as t1,table_two as t2 WHERE ... AND t1.id=t2.id

这种方式对大型数据库有什么问题吗?

【问题讨论】:

    标签: mysql database join select mysqli


    【解决方案1】:

    以下查询正在为您使用INNER JOIN

    SELECT t1.id,t1.name,t2.title 
     FROM table as t1 
     INNER JOIN table_two as t2 ON t1.id=t2.id
     WHERE ... AND 
    

    如果你有大数据,那么有多种方法可以提高查询性能:

    1. 只获取必填列,而不是*
    2. 为相关列添加索引
    3. 使用WHERE过滤无关数据
    4. 使用分区划分数据

    【讨论】:

    • 非常感谢您的 INNER JOIN,这比我的方式更好还是它们相同?
    • 再次感谢,我从不使用 * 并且总是将列名放在我的查询中,并且 id 是主列
    猜你喜欢
    • 2011-10-06
    • 1970-01-01
    • 2018-12-26
    • 1970-01-01
    • 2010-09-17
    • 1970-01-01
    • 2021-11-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多