Oracle有A和B两张表两表有一些字段相同按条件筛选出一些B表的数据去掉A表里筛选出的B表数据使用左连接请提供示例改进上面的示例where条件有多个的情况使用+符号的方式
假设A表和B表的结构如下:
A表:
- id
- name
- age
B表:
- id
- name
- age
- gender
要按条件筛选出B表的数据,并去掉A表中已经筛选出的B表数据,可以使用左连接。以下是示例SQL查询语句:
SELECT B.*
FROM B
LEFT JOIN A ON B.id = A.id
WHERE A.id IS NULL
AND B.age > 20
AND B.gender = 'Female';
上述示例中,我们通过左连接将A表和B表连接起来,使用A表的id字段和B表的id字段进行连接。然后使用WHERE子句来筛选出A表中不存在的B表数据,并根据多个条件进行进一步筛选。其中,B.age > 20表示年龄大于20岁,B.gender = 'Female'表示性别为女性。
使用+符号的方式来表示多个条件的查询,示例SQL查询语句如下:
SELECT B.*
FROM B
LEFT JOIN A ON B.id = A.id
WHERE A.id IS NULL
AND B.age > 20
AND B.gender = 'Female';
上述示例中,我们将多个条件直接使用AND连接起来,表示筛选出满足所有条件的数据
原文地址: https://www.cveoy.top/t/topic/ixVJ 著作权归作者所有。请勿转载和采集!