SQL不使用JOIN如何通过外键查询关联表的对应字段值
实现方案
方案1:关联子查询(推荐,映射关系存储在Niveau表时适用)
直接在SELECT字段列表中嵌套子查询匹配对应niveaucode的描述字段即可,全程无需使用JOIN语法,示例语句如下:
SELECT s.你需要查询的其他Stuk表字段, (SELECT n.描述字段名 FROM Niveau n WHERE n.niveaucode = s.niveaucode) AS niveau_desc FROM Stuk s;
请将语句中的你需要查询的其他Stuk表字段、描述字段名替换为你实际的表字段名称即可正常执行。
方案2:CASE WHEN硬编码映射(仅适合映射规则固定无变动的场景)
如果你不需要读取Niveau表,且编码映射关系不会频繁调整,可以直接用CASE WHEN判断编码返回对应描述:
SELECT 你需要查询的其他Stuk表字段, CASE niveaucode WHEN 'A' THEN 'EXAMPLE 1' WHEN 'B' THEN 'EXAMPLE 2' WHEN 'C' THEN 'EXAMPLE 3' ELSE '未知等级' END AS niveau_desc FROM Stuk;
内容的提问来源于stack exchange,提问作者Mafklaper
相关产品推荐
相关产品推荐

