left join B. is null
时间: 2023-12-02 09:38:13 浏览: 28
这是一个 SQL 查询语句,其作用是在左连接(left join)操作中,筛选出右表 B 中值为 null 的记录。具体来说,左连接会返回左表中所有的记录以及右表中与左表匹配的记录,如果右表中没有匹配的记录,则对应的字段值为 null。因此,通过在 left join 操作后添加 B.is null 条件,可以筛选出右表 B 中没有匹配记录的左表记录。
相关问题
update xc_device_bind_agent a left join waibu_agent b on a.agent = b.server left join gps.ascriptionserver c on b.server = c.server set a.agent = CASE WHEN `c.CompanyName` is not null THEN `c.CompanyName` ELSE b.name where b.name is not null; 这里面哪里语法错了
这个 SQL 语句中有一个语法错误,应该将 `ELSE` 关键字与 `WHERE` 关键字分开。修改后的语句如下:
```
UPDATE xc_device_bind_agent a
LEFT JOIN waibu_agent b ON a.agent = b.server
LEFT JOIN gps.ascriptionserver c ON b.server = c.server
SET a.agent = CASE
WHEN c.CompanyName IS NOT NULL THEN c.CompanyName
ELSE b.name
END
WHERE b.name IS NOT NULL;
```
修改后的语句中,将 `ELSE` 关键字和 `WHERE` 关键字分开,并在 `CASE` 语句中添加了 `END` 关键字。同时,为了保持代码的可读性,对 SQL 语句进行了适当的格式化。
select * from a left join b on a.id = b.id where b.id is not NULL
这是一条 SQL 查询语句,它的含义是从表 a 和表 b 中选出所有满足条件 b.id 不为空的记录,并将它们按照 a.id = b.id 进行左连接,也就是说,如果表 b 中没有匹配的记录,则 a 表中的记录也会被保留。
具体来说,SELECT * 表示选取所有列,FROM a 表示从表 a 中选择记录,LEFT JOIN b 表示使用左连接方式连接表 b,ON a.id = b.id 表示连接条件是 a 表的 id 列和 b 表的 id 列相等。WHERE b.id IS NOT NULL 表示只选择 b 表中 id 列不为空的记录。