left join B. is null
时间: 2023-12-02 20:38:13 浏览: 68
这是一个 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 a.* from a left JOIN b ON a.id=b.id where b.id is null 中的数据,语句
你可以使用DELETE语句结合子查询来删除这些数据,具体语句如下:
```
DELETE FROM a WHERE id IN (SELECT a.id FROM a LEFT JOIN b ON a.id = b.id WHERE b.id IS NULL);
```
这条语句中,首先使用子查询找出符合条件的id,然后将这些id对应的数据从表a中删除。注意,这里使用了LEFT JOIN和WHERE b.id IS NULL来找出表b中不存在的数据,也可以使用NOT EXISTS来实现相同的效果。
阅读全文