to raczej zbyt skomplikowane zadanie dla SQL - w praktyce da się napisać ale będzie wybitnie niewydajne. wg mnie właściwym podejściem do problemu, to wyłowienie z bazy "podejrzanych" odcinków spełniających jakieś proste kryterium (np. kryterium prostokątów, to znaczy, że warukniem koniecznym - ale nie wystarczającym - przecinania się dwóch odcinków jest nakładanie się na siebie obszarów prostokątów których przekątnymi są badane odcinki). właściwą obróbkę tak przesianych danych zrobiłbym po stronie np. PHP czy w jakimkolwiek narzędziu wspierającym zaawansowane liczenie (choćby excel...) a pytanko jest wtedy stosunkowo proste, zakładając, że badamy odcinek AB o współrzędnych końców Ax, Ay i Bx, By:
SELECT * FROM odcinki WHERE ((Ax BETWEEN X1 AND X2) OR (Bx BETWEEN X1 AND X2)) AND ((Ay BETWEEN Y1 AND Y2) OR (BY BETWEEN Y1 AND Y2));
powodzenia