我应该如何编辑 SQL 查询中的 WHERE 子句以获得所需的结果?
How should i edit WHERE clause in SQL query to get desired result?
假设我有两个名为“视频”和“评论”的表格
Videos:
int: video_id (PK)
String: video_name
.
.
Reviews:
int: review_id (PK)
int: video_id (FK)
String: review
.
.
在我想要获取所有视频及其相关评论的场景中,我使用查询:
"SELECT * FROM Videos v, Reviews r WHERE v.video_id = r.review_id"
但是这次只查询returns有评论的视频,没有评论的视频不返回,但我也需要。
我应该如何编辑查询以查看没有评论的视频?
示例结果:
(video_id), (video_name), (review_id), (review)
1, "videoName", 1, "review1"
2, "videoName2", NULL, NULL
感谢您的回答和评论。 (对不起打字错误)
您似乎有一些错别字 - 游记或视频
不过,这里是基于您发布的查询的查询:
SELECT * FROM Travels t left join Reviews r on t.travel_id = r.review_id
只需一个左连接即可。
您使用“左连接”:
select v.video_id, v.video_name, r.review_id, r.review
from Videos v
left join Reviews r on v.video_id = r.video_id;
(您的示例代码使用的是旧样式的连接,应该是示例代码中将 LEFT 更改为 INNER 的新样式)
假设我有两个名为“视频”和“评论”的表格
Videos:
int: video_id (PK)
String: video_name
.
.
Reviews:
int: review_id (PK)
int: video_id (FK)
String: review
.
.
在我想要获取所有视频及其相关评论的场景中,我使用查询:
"SELECT * FROM Videos v, Reviews r WHERE v.video_id = r.review_id"
但是这次只查询returns有评论的视频,没有评论的视频不返回,但我也需要。
我应该如何编辑查询以查看没有评论的视频?
示例结果:
(video_id), (video_name), (review_id), (review)
1, "videoName", 1, "review1"
2, "videoName2", NULL, NULL
感谢您的回答和评论。 (对不起打字错误)
您似乎有一些错别字 - 游记或视频 不过,这里是基于您发布的查询的查询:
SELECT * FROM Travels t left join Reviews r on t.travel_id = r.review_id
只需一个左连接即可。
您使用“左连接”:
select v.video_id, v.video_name, r.review_id, r.review
from Videos v
left join Reviews r on v.video_id = r.video_id;
(您的示例代码使用的是旧样式的连接,应该是示例代码中将 LEFT 更改为 INNER 的新样式)