不像嵌套 SQL
NOT LIKE NESTED SQL
我有一个 table 包含 phone 数值,它也可以是通配符,如下面提到的 %
select phonenumber from table_2 ;
1 5159199076
2 210645%
3 %0869067
我需要有关 SQL 查询的帮助,以排除 table_2
中存在的 phone 数字的所有值
所以 table_1 具有这些值
ID Phonenumber
101 9757895378
201 **2106450789**
301 **9190869067**
401 8757895078
select table_1.phone_number
from table_1
where table_1.phone_number not in
(
select phonenumber from table_2
where phonenumber = table_1.phonenumber)
如果 table_2 中没有通配符,如 210645% 或 %0869067
,此方法有效
我更新了 SQL
select table_1.phone_number
from table_1
where table_1.phone_number not like
(
select phonenumber from table_2
)
这导致没有行被返回,我如何修改 SQL 以获得正确的结果,以便不包括通配符?数据库是 postgres.
谢谢
select table_1.phone_number
from table_1
where table_1.phone_number not in
(
select phonenumber from table_2)
使用LIKE ANY
与子选择中的所有元素进行比较:
SELECT table_1.phone_number
FROM table_1
WHERE NOT table_1.phone_number
LIKE ANY (array(
SELECT table_2.phone_number
FROM table_2
));
我有一个 table 包含 phone 数值,它也可以是通配符,如下面提到的 %
select phonenumber from table_2 ;
1 5159199076
2 210645%
3 %0869067
我需要有关 SQL 查询的帮助,以排除 table_2
中存在的 phone 数字的所有值所以 table_1 具有这些值
ID Phonenumber
101 9757895378
201 **2106450789**
301 **9190869067**
401 8757895078
select table_1.phone_number
from table_1
where table_1.phone_number not in
(
select phonenumber from table_2
where phonenumber = table_1.phonenumber)
如果 table_2 中没有通配符,如 210645% 或 %0869067
,此方法有效我更新了 SQL
select table_1.phone_number
from table_1
where table_1.phone_number not like
(
select phonenumber from table_2
)
这导致没有行被返回,我如何修改 SQL 以获得正确的结果,以便不包括通配符?数据库是 postgres.
谢谢
select table_1.phone_number
from table_1
where table_1.phone_number not in
(
select phonenumber from table_2)
使用LIKE ANY
与子选择中的所有元素进行比较:
SELECT table_1.phone_number
FROM table_1
WHERE NOT table_1.phone_number
LIKE ANY (array(
SELECT table_2.phone_number
FROM table_2
));