SQL 쿼리의 EXCEPT 구문 오류
MySQL에서 쿼리에서 행을 제외하기 위해 EXCEPT 구문을 사용하면 구문 오류가 발생할 수 있습니다. 이는 MySQL이 기본적으로 EXCEPT 키워드를 지원하지 않기 때문입니다.
대체 솔루션
원하는 제외 기능을 얻으려면 NOT IN 절이나 IFNULL 조건을 사용한 LEFT JOIN:
NOT IN 절:
SELECT s.sno FROM students s WHERE s.sno NOT IN ( SELECT t.sno FROM take t WHERE t.cno = 'CS112' );
IFNULL을 사용한 LEFT JOIN:
SELECT s.sno FROM students s LEFT JOIN take t ON s.sno = t.sno WHERE IFNULL(t.cno, '') != 'CS112';
예
다음을 고려하세요. 견본 데이터:
create temporary table students (sno int); insert into students values (1); insert into students values (2); insert into students values (3); insert into students values (4); insert into students values (5); insert into students values (6); insert into students values (7); insert into students values (8); insert into students values (9); insert into students values (10); create temporary table take (sno int, cno varchar(50)); insert into take values (1, 'CS112'); insert into take values (2, 'CS112'); insert into take values (3, 'CS112'); insert into take values (4, 'CS112');
NOT IN 절이나 IFNULL과 함께 LEFT JOIN을 사용하면 다음 결과가 반환됩니다.
+------+ | sno | +------+ | 5 | | 6 | | 7 | | 8 | | 9 | | 10 | +------+
이러한 대체 방법은 CS112 과정을 수강한 학생을 효과적으로 제외합니다. , 해당 강좌를 수강하지 않은 학생 목록이 표시됩니다.
위 내용은 EXCEPT 없이 MySQL 쿼리에서 행을 제외하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!