mysql - 如何用SQL连接3个表

标签 mysql sql

enter image description here

我正在尝试学习SQL

我在JOIN方面遇到问题

我想显示 ref_id, pro_name, class_name 但我不能。

我找到有效解决方案。

我的查询(不起作用)

SELECT
  ref_id, pro_name, class_name
FROM
  RC, RP, PP, LP
WHERE
  RC.ref_id = RP.ref_id

最佳答案

避免使用逗号CROSS JOIN

您可以使用JOIN来代替逗号

像这样。

SELECT
  RP.ref_id, PP.pro_name, LP.class_name
FROM
  RP
LEFT JOIN RC ON RC.ref_id = RP.ref_id
LEFT JOIN PP ON PP.pro_id = RP.pro_id
LEFT JOIN LP ON LP.lec_id = RP.lec_id

关于mysql - 如何用SQL连接3个表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49869080/

相关文章:

mysql - 无法从外部访问 vagrant MySQL 数据库(仅当 vagrant ssh 进入带有 Scotchbox 的盒子时)

php - MySQL 喜欢查询但不喜欢其他查询

php - SQL 加入不同的行?试图找到不相等(非一对一)结果的正确查询

mysql - 使用多个 JOIN 优化数据库

mysql - 使用触发器将所有密码状态重置为零

php - 检查数据库内的数据并根据检索到的数据更改值

sql - SQL Server 中的聚合函数

sql - 如果我同时拥有(A,B)和(B,A)则仅选择一对

mysql - Rails 错误地提示将 postgres 添加到 bundle 中

sql - 如何将表中的数据添加到 PostgreSQL 中的最大对象查询