Hi! Could we please enable some services and cookies to improve your experience and our website?

SQLize | PHPize | SQLtest

Online Sandbox for SQL and PHP: Write, Run, Test, and Share SQL Queries and PHP Code

A A A
Login    Share code      Blog   FAQ
Copy Format Clear
CREATE TABLE QEEN (ID INT, A INT, B INT); INSERT INTO QEEN VALUES (1, 22, 32), (2, 22, 55), (3, 32, 22), (4, 32, 77); -- Используя WHERE NOT EXISTS SELECT * FROM QEEN WHERE NOT EXISTS ( SELECT ID FROM QEEN REVERSE_QEEN WHERE REVERSE_QEEN.A = QEEN.B AND REVERSE_QEEN.B = QEEN.A ); -- Используя LEFT JOIN SELECT QEEN.* FROM QEEN LEFT JOIN QEEN REVERSE_QEEN ON REVERSE_QEEN.A = QEEN.B AND REVERSE_QEEN.B = QEEN.A WHERE REVERSE_QEEN.ID IS NULL; -- Просто извращение, но тоже должно работать :) WITH ALL_QEEN AS ( SELECT ID, A, B, 1 T FROM QEEN UNION ALL SELECT ID, B, A, 2 T FROM QEEN ) SELECT MIN(ID) ID, A, B FROM ALL_QEEN GROUP BY A, B HAVING COUNT(*) = 1 AND MIN(T) = 1;

Stuck with a problem? Got Error? Ask AI support!

Copy Clear