SELECT t.*
FROM alx_material_types_intf_v t
WHERE t.material_level = 3
AND t.material_type NOT IN
(SELECT a.parent_type FROM alx_material_types_intf_v a);--无数据
SELECT t.*
FROM alx_material_types_intf_v t
WHERE t.material_level = 3
AND t.material_type NOT IN (SELECT a.parent_type
FROM alx_material_types_intf_v a
WHERE a.parent_type = t.material_type); --有数据求解为什么?先感谢各位了
FROM alx_material_types_intf_v t
WHERE t.material_level = 3
AND t.material_type NOT IN
(SELECT a.parent_type FROM alx_material_types_intf_v a);--无数据
SELECT t.*
FROM alx_material_types_intf_v t
WHERE t.material_level = 3
AND t.material_type NOT IN (SELECT a.parent_type
FROM alx_material_types_intf_v a
WHERE a.parent_type = t.material_type); --有数据求解为什么?先感谢各位了
WITH t1 AS
(select 1 ID from dual UNION
select 2 ID from dual UNION
select 3 ID from dual),
t2 AS
(select 1 cd from dual UNION
select 2 cd from dual UNION
select 3 cd from dual)
--select * from t1 WHERE ID NOT IN (select cd from t2)
select * FROM t1 WHERE ID NOT IN (select t2.cd from t2 WHERE t2.cd=t1.id)
而你的第二个SQL坐等大神解释(个人觉得是不是优化器解决这个问题了)...
而你的第二个SQL坐等大神解释(个人觉得是不是优化器解决这个问题了)...
第二个SQL里面,因为多了个 “= ”的条件,导致无论如何结果集内不会出现空值。。
而你的第二个SQL坐等大神解释(个人觉得是不是优化器解决这个问题了)...
第二个SQL里面,因为多了个 “= ”的条件,导致无论如何结果集内不会出现空值。。
额,这点给忘了、谢谢解疑!