You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Oracle中如何关联两表仅在SELECT语句中修改输出而不更新表

Oracle 查询:关联表转换输出结果

表结构

tbl_genres

字段类型
genre_id数值型
genre_name字符型

tbl_movies

字段类型
movie_id数值型
movie_name字符型
genre_id数值型
release_year数值型

需求目标

无需修改tbl_movies的数据,仅通过SELECT语句将输出结果中的genre_id替换为对应的genre_name,最终输出包含movie_id、movie_name、genre_name、release_year的结果集。

解决方案

使用内连接关联两张表,直接在查询中映射类型名称:

SELECT
    m.movie_id,
    m.movie_name,
    g.genre_name,
    m.release_year
FROM
    tbl_movies m
INNER JOIN
    tbl_genres g ON m.genre_id = g.genre_id;

如果存在电影未关联任何类型(genre_id为空或无匹配),想要保留这些记录,可改用左连接并通过NVL处理空值:

SELECT
    m.movie_id,
    m.movie_name,
    NVL(g.genre_name, '无分类') AS genre_name,
    m.release_year
FROM
    tbl_movies m
LEFT JOIN
    tbl_genres g ON m.genre_id = g.genre_id;

内容的提问来源于stack exchange,提问作者Suffii

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.24 14:15:15