집 >데이터 베이스 >MySQL 튜토리얼 >SQL에서 EXISTS 및 NOT EXISTS를 사용하기 위한 구문
SQL에서 존재 및 존재하지 않음을 사용하려면 특정 코드 예제가 필요합니다.
SQL에서 존재 및 존재하지 않음은 일반적으로 사용되는 조건자(predicate) 쌍으로, 하위 쿼리(subquery)가 결과 집합을 반환하는지 여부를 결정하는 데 사용됩니다. 존재함은 하위 쿼리가 하나 이상의 결과 행을 반환하는지 여부를 확인하는 데 사용되고, 존재하지 않음은 하위 쿼리가 결과를 반환하지 않는지 확인하는 데 사용됩니다.
exists의 구문은 다음과 같습니다.
SELECT column1, column2, ... FROM table WHERE EXISTS (subquery);
notexists의 구문은 다음과 같습니다.
SELECT column1, column2, ... FROM table WHERE NOT EXISTS (subquery);
다음에서는 몇 가지 구체적인 예를 사용하여 존재 및 존재하지 않음의 사용법을 소개합니다.
예제 1: 특정 조건이 있는 레코드 찾기
"employee_id", "first_name" 및 "last_name"과 같은 열을 포함하여 직원 정보가 포함된 "employees"라는 테이블이 있다고 가정합니다. 우리는 직위 "관리자"가 존재하는 모든 직원 정보를 찾고 싶습니다.
SELECT employee_id, first_name, last_name FROM employees WHERE EXISTS (SELECT 1 FROM employees WHERE job_title = 'manager' AND employees.employee_id = manager_id);
위 코드의 하위 쿼리는 "employees" 테이블에서 "manager" 위치의 레코드를 검색합니다. 외부 기본 쿼리는 존재 조건자를 사용하여 하위 쿼리가 결과 행을 하나 이상 반환하는지 여부를 결정합니다.
예제 2: 특정 조건이 없는 레코드 찾기
이제 "관리자" 직위가 없는 직원에 대한 정보를 찾고 싶다고 가정해 보겠습니다.
SELECT employee_id, first_name, last_name FROM employees WHERE NOT EXISTS (SELECT 1 FROM employees WHERE job_title = 'manager' AND employees.employee_id = manager_id);
위 코드의 하위 쿼리는 "employees" 테이블에서 "manager" 위치의 레코드도 검색합니다. 외부 기본 쿼리는 존재하지 않음 조건자를 사용하여 하위 쿼리가 결과를 반환하지 않는지 여부를 결정합니다.
예 3: 하위 쿼리 비교
조건자로 존재하고 존재하지 않는 하위 쿼리는 다른 조건을 사용하여 필터링할 수도 있습니다.
연봉이 가장 높은 직원에 대한 정보를 찾고 싶다고 가정해 보겠습니다.
SELECT employee_id, first_name, last_name FROM employees e1 WHERE NOT EXISTS (SELECT 1 FROM employees e2 WHERE e2.salary > e1.salary);
위 코드에서 하위 쿼리는 현재 직원보다 급여가 높은 레코드를 검색하고 존재하지 않는 조건자를 사용하여 조건을 충족하는 레코드가 없는지 확인합니다.
요약:
exists와 not presents는 SQL에서 일반적으로 사용되는 조건자로, 하위 쿼리가 결과 집합을 반환하는지 확인하는 데 사용됩니다. 존재함은 하나 이상의 결과 행이 존재하는지 판별하는 데 사용되고, 존재하지 않음은 결과가 없음을 판별하는 데 사용됩니다. 존재 및 존재하지 않음을 사용하면 다양한 비즈니스 요구 사항을 충족하는 보다 유연한 쿼리 문을 작성할 수 있습니다.
위 내용은 SQL에서 EXISTS 및 NOT EXISTS를 사용하기 위한 구문의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!