我 有 * * 用户 表 * *
| 用户 标识|姓名|姓氏|
| - -| - -| - -|
| 千|汤姆|多 伊|
| 二 ○ ○ ○ 年|蒂娜|多 伊|
| 三千|米 迦勒|多 伊|
| 四千|罗贝尔|多 伊|
和 具有 * * 值 * * 的 表
| 用户 标识|价值|
| - -| - -|
| 千|10 个|
| 二 ○ ○ ○ 年|二十 个|
| 三千|四十|
| 四千|二十 个|
| 千|二十 个|
| 三千|10 个|
| 四千|三十|
现在 , 我 想 编写 一 个 SQL 语句 , 列出 所有 * * 值 为 10 * * 的 用户 , 如果 该 值 不是 10 或 表 中 没有 值 , 则 应 返回 * * null * * 。
| 用户 标识|姓名|姓氏|价值|
| - -| - -| - -| - -|
| 千|汤姆|多 伊|10 个|
| 二 ○ ○ ○ 年|蒂娜|多 伊|零 值|
| 三千|米 迦勒|多 伊|10 个|
| 四千|罗贝尔|多 伊|零 值|
我 如何 才能 实现 这 一 点 ?
3条答案
按热度按时间h79rfbju1#
使用
LEFT JOIN
,将值表中的值限制为10。如果没有值10,将自动给予NULL:我添加了dbfiddle
yb3bgrhw2#
这就是外部连接:
示例数据:
查询:
7rfyedvj3#
您只需要一个子查询和一个LEFT连接-