Ето решение, използващо LAG
функция или Oracle, която ви дава достъп до предишния ред.
И трябва да получите само ред 2 и 5 от вашата таблица, според изискванията, които имате, тъй като ред 6 има end_no
като 224, което е не по-малко от end_no
на ред 5, който е 223
SELECT id, name, start_no, end_no
FROM (
SELECT id, name, start_no, end_no,
lag(start_no, 1, 0) over (order by id) prev_start_no ,
lag(end_no, 1, 0) over (order by id) prev_end_no
FROM test
)
WHERE start_no BETWEEN prev_start_no AND prev_end_no
AND end_no BETWEEN prev_start_no AND prev_end_no;