这两天经常遇到一道题,即如何用一条语句在数据库中查询出不存在的记录.
注意,是一条语句哦.
一般情况下,该题有个前提条件,必定有一个字段是按规律生成的,如小时记录,一天24条记录.或者是按照序号生成,如12345678等.
我的思路是构造一个伪表,然后用伪表进行关联查询.
create table TEST_A
(
ID NUMBER(3),
NAMES VARCHAR2(12)
)
id填入 1 3 6 7 9,构造出五条记录
select b.id,a.id from test_a a,(select rownum as id from dual connect by level<(select max(id) from test_a)) b where b.id=a.id(+) and a.id is null
如果有高手有更好的办法欢迎指教!!
注意,是一条语句哦.
一般情况下,该题有个前提条件,必定有一个字段是按规律生成的,如小时记录,一天24条记录.或者是按照序号生成,如12345678等.
我的思路是构造一个伪表,然后用伪表进行关联查询.
create table TEST_A
(
ID NUMBER(3),
NAMES VARCHAR2(12)
)
id填入 1 3 6 7 9,构造出五条记录
select b.id,a.id from test_a a,(select rownum as id from dual connect by level<(select max(id) from test_a)) b where b.id=a.id(+) and a.id is null
如果有高手有更好的办法欢迎指教!!