Sql 多案例-语法

Sql 多案例-语法,sql,Sql,免责声明:这可能是个小错误 要在以下位置解决查询: 您能否使用名为sound的列返回结果 “说话”代表人类,“吠叫”代表狗,“喵喵”代表猫 我需要编写一个具有多种可能性的案例 以下语法有什么问题 SELECT * CASE WHEN species='human' THEN 'talk' WHEN species='dog' THEN 'bark' WHEN species='cat' THEN 'meow' END AS sound FROM friends_

免责声明:这可能是个小错误


要在以下位置解决查询:

您能否使用名为sound的列返回结果 “说话”代表人类,“吠叫”代表狗,“喵喵”代表猫

我需要编写一个具有多种可能性的
案例

以下语法有什么问题

SELECT *
CASE 
    WHEN species='human' THEN 'talk' 
    WHEN species='dog' THEN 'bark'
    WHEN species='cat' THEN 'meow'
  END AS sound
FROM friends_of_pickles
;
我仔细检查了语法条的读数,我觉得正确吗

错在哪里


非常提前感谢您

嗯,您在
*
后面缺少一个逗号:

SELECT *,
       (CASE WHEN species = 'human' THEN 'talk' 
             WHEN species = 'dog' THEN 'bark'
             WHEN species = 'cat' THEN 'meow'
        END) AS sound
FROM friends_of_pickles;
但是,有些数据库不允许将
*
与其他列一起使用。因此,需要合格的
*

SELECT fop.*,
       (CASE WHEN species = 'human' THEN 'talk' 
             WHEN species = 'dog' THEN 'bark'
             WHEN species = 'cat' THEN 'meow'
        END) AS sound
FROM friends_of_pickles fop;

老实说,我推荐一个限定的列名(和
*
s)。

和case子句可以缩短为
case-species,当“人”时,当“狗”时,当“狗”时,当“狗”时,当“猫”时,当“喵”结束时,作为声音