mysql - 使用哪种类型的连接?

标签 mysql

我有一个名为 PROJECT_CATEGORY 的表,它包含两个字段

cat_id 和 cat_title

我将 cat_id 存储在另一个名为 PROJECTS 的表中,因此:

project_category.cat_id = projects.cat_id

使用 MySQL 运行查询来显示 cat_title 的最佳方式是什么。换句话说,我想显示表的名称而不是 ID 号。这行得通吗:

SELECT * FROM projects INNER JOIN projects ON project_category.cat_id = projects.cat_id

然后调用它:

'.$row['cat_title'].'

有什么想法吗?

最佳答案

如果每个项目都有一个有效的cat_id并且cat_id是唯一的,那么INNER JOIN就可以了。

如果任何项目有 NULL cat_id,您需要 LEFT JOIN。

如果 cat_id 不是唯一字段(主键),您可能需要使用子查询将自己限制为每个项目一个结果。

关于mysql - 使用哪种类型的连接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/493765/

相关文章:

javascript - 当我们获取 GET 参数时,如何停止显示页面是否刷新的消息?

mysql - rails 3 : How to make a join in mysql over 3 tables (with :through in the model)

mysql - 如何使用 MySQL 和 ColdFusion 创建分页功能

php - 如何使用php删除表中特定数量的行

sql - 基于其他字段更改 SQL CONSTRAINT

c# - WCF 服务中无法在表 '' 错误中插入标识列的显式值

python - 如何减少 sqlalchemy 用于连接数据库和选择数据的时间

mysql - CakePHP $this->模型->查询

mysql - 选择查询比 View 快2-3倍

php - 从 mysql_results 转换为 mysqli_results