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

SQL Server查询特定ID乘客信息的语法问题求助

SQL Server查询特定ID乘客信息的语法问题求助

嗨,我来帮你搞定这个SQL查询的小问题~你找特定ID乘客的思路是对的,但WHERE子句的语法确实出了点差错,导致要么返回空结果要么报错,我给你拆解清楚:

先说说你之前的两个错误写法为啥不行:

  • WHERE ID_PASS = 344 AND 346:这个逻辑有问题,SQL会把单独的346当成布尔值(非零数字在SQL里会被判定为TRUE),所以这个条件等价于ID_PASS = 344 AND TRUE,只会尝试查找ID为344的乘客,如果你的数据库里这个ID没有对应数据,自然就返回空结果了。
  • WHERE ID_PASS = 344, 346:SQL语法里根本不支持用逗号分隔条件的写法,所以直接触发报错是正常的。

接下来给你两种正确的写法,都能满足你查询ID为344和346的乘客姓名及ID的需求:

方法1:用OR连接多个相等条件(适合少量ID)

这种写法逻辑直观,新手也容易理解:

SELECT ID_PASS, NOM, PRENOM
FROM PASSAGER
WHERE ID_PASS = 344 OR ID_PASS = 346

注意我把ID_PASS加到了SELECT列表里,这样你就能同时看到每条记录对应的乘客ID,刚好符合你要“拉取ID编号和姓名”的需求。

方法2:用IN关键字(更推荐,适合多ID场景)

如果后续要查更多ID,用IN会更简洁,代码可读性也更高:

SELECT ID_PASS, NOM, PRENOM
FROM PASSAGER
WHERE ID_PASS IN (344, 346)

IN后面的括号里可以直接列出所有要匹配的ID值,SQL会自动匹配其中任意一个符合的记录。

试试这两种写法,应该就能得到你想要的结果啦~

备注:内容来源于stack exchange,提问作者Alex d'Astous

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.23 15:22:33