两表查询 A表在B表中有相同数据 取A表的某个字段 没有则返回未提交
时间: 2024-03-13 08:46:36 浏览: 19
根据你的要求,可以使用左连接查询和条件判断来实现。具体的 SQL 语句如下:
```
SELECT
CASE WHEN A.column_name IS NULL THEN '未提交' ELSE A.column_name END AS result
FROM
A
LEFT JOIN B ON A.column_name = B.column_name
```
这个 SQL 语句会首先根据 A 表和 B 表中的某个字段进行左连接查询,然后根据条件判断 A 表中的某个字段是否为空,如果为空则返回“未提交”,否则返回该字段的值。
相关问题
sql语句查询a表中a1字段数据是否在b表b1字段中存在
可以使用以下 SQL 语句查询 a 表中 a1 字段的数据是否在 b 表的 b1 字段中存在:
```
SELECT a.a1
FROM a
WHERE EXISTS (
SELECT 1
FROM b
WHERE a.a1 = b.b1
);
```
以上语句使用了 EXISTS 子查询,对于 a 表中的每一行,都会在 b 表中查找是否存在 b1 字段等于 a1 字段的数据,如果存在,则返回该行数据。如果您需要查询所有符合条件的数据,可以使用 INNER JOIN 进行连接查询:
```
SELECT a.a1
FROM a
INNER JOIN b
ON a.a1 = b.b1;
```
以上语句会返回 a 表和 b 表中 a1 和 b1 字段都相等的数据。
根据唯一字段查询出A表中有B表中没有的sql
可以使用NOT EXISTS子句来实现,具体的SQL语句如下:
```
SELECT A.*
FROM A
WHERE NOT EXISTS (
SELECT 1
FROM B
WHERE A.unique_field = B.unique_field
);
```
其中,A和B分别是两个表的表名,unique_field是A表和B表中共有的唯一字段。这个SQL语句会返回A表中那些在B表中不存在的记录。