如何通过user_id外键在user与review表中显示用户名?
关联查询获取点评对应的用户名
你需要使用**表连接(JOIN)**来关联review表和user表,通过review.user_id与user.id的对应关系,取出对应的用户名。
基础内连接查询(仅显示有匹配用户的点评)
SELECT r.id AS review_id, r.review_text, r.restaurant_id, u.username AS reviewer_name FROM review r INNER JOIN user u ON r.user_id = u.id;
- 给表设置别名(
r代表review,u代表user)让语句更简洁 - 可以根据需求添加/删除字段,比如加上点评时间、评分等
左连接查询(显示所有点评,无匹配用户时显示默认值)
如果需要保留所有点评记录(即使user_id无对应用户记录),可以用左连接:
SELECT r.id AS review_id, r.review_text, r.restaurant_id, COALESCE(u.username, '匿名用户') AS reviewer_name FROM review r LEFT JOIN user u ON r.user_id = u.id;
COALESCE函数用于处理空值,当没有匹配到用户时,显示"匿名用户"
内容的提问来源于stack exchange,提问作者Sanjana G
相关产品推荐
相关产品推荐

