무엇이 존재합니까?
존재 연산자는 하위 쿼리에 행이 있는지 여부를 테스트합니다. 즉,연산자는 하위 쿼리와 함께 사용됩니다. 존재 연산자는 하위 쿼리에서 하나 이상의 행이 발견되면 충족되었다고 합니다. 이 작업은 명령문 선택,업데이트,삽입 및 삭제와 함께 사용할 수 있습니다.
:
- 구문
- 선택 문
- 삽입 문
- 업데이트 문
- 삭제 문
- 페이지 관리자
구문
이 구문은 다음과 같습니다.:
WHERE EXISTS (subquery);
위의 구문은 존재 연산자가 하위 쿼리 인 인수를 취한다는 것을 보여줍니다. 하위 쿼리는 단순히 열 이름 또는 식 목록 대신 선택*으로 시작해야 하는 선택 문입니다.
선택 문
와 함께 존재 연산자와 함께 선택 문을 사용하는 방법을 살펴 보겠습니다. 우리는 다음과 같은 테이블이 있습니다:
책:
가격:
다음 문을 실행합니다:
SELECT *FROM BookWHERE EXISTS (SELECT * FROM Price WHERE Book.id = Price.id);
그러면 다음이 반환됩니다:
위의 명령은 책 테이블의 모든 레코드를 반환해야 합니다. 하나의 신분증 만 일치했습니다. 따라서 하나의 레코드 만 반환되었습니다.
삽입 문
우리는 삽입 문에 존재 연산자를 사용할 수 있습니다. 우리는 뒤에 오는 3 개의 테이블이 있습니다:
책:
가격:
가격 2:
그런 다음 다음 문을 실행할 수 있습니다:
INSERT INTO PriceSELECT id, priceFROM Price2WHERE EXISTS (SELECT id FROM Book WHERE Book.id = Price2.id);
다음과 같이 가격 테이블은 지금:
표에 값이 5 인 행이 일치했습니다. 이 레코드는 가격 테이블에 삽입되었습니다.
업데이트 문
우리는 업데이트 문에 존재 연산자를 사용할 수 있습니다.
다음 쿼리를 실행합니다:
UPDATE PriceSET price = (SELECT price FROM Price2 WHERE Price2.id = Price.id)WHERE EXISTS (SELECT id, priceFROM Price2WHERE Price2.id = Price.id);
가격 테이블의 가격 열을 업데이트하고 있습니다. 우리의 목표는 동일 할 신분증을 공유하는 항목의 가격을 가지고있다. 하나의 행,즉 5 만 일치했습니다.
그러나 가격이 동일하기 때문에,즉,205,업데이트되지 않았다. 차이가 있었다면 업데이트가 있었을 것입니다.
삭제 문
와 함께 삭제 문 존재 연산자를 사용할 수 있습니다. 다음은 예입니다:
DELETE FROM PriceWHERE EXISTS (SELECT * FROM Price2 WHERE Price.id = Price2.id);
다음과 같이 가격 테이블은 지금:
아이디가 5 인 행이 삭제되었습니다.
관리자
이제 이러한 작업은 관리자를 사용하여 수행 할 수있는 방법을 살펴 보자.
선택 문
이 작업을 수행 관리자를 통해 동일한 작업을 수행합니다:
단계 1)관리자 계정에 로그인합니다.
단계 2)
- 왼쪽 클릭 데이터베이스의 탐색 모음에서.
- 데모를 클릭합니다.
3 단계)쿼리 편집기에 쿼리 입력:
SELECT *FROM BookWHERE EXISTS (SELECT * FROM Price WHERE Book.id = Price.id);
4 단계)실행 버튼을 클릭합니다.
다음을 반환해야 합니다:
삽입 문
를 통해 동일한 작업을 수행하려면,이 작업을 수행:
단계 1)관리자 계정에 로그인합니다.
단계 2)
- 왼쪽 클릭 데이터베이스의 탐색 모음에서.
- 데모를 클릭합니다.
3 단계)쿼리 편집기에 쿼리 입력:
INSERT INTO PriceSELECT id, priceFROM Price2WHERE EXISTS (SELECT id FROM Book WHERE Book.id = Price2.id);
단계 4)실행 버튼을 클릭합니다.
이제 가격 표는 다음과 같습니다:
업데이트 문
를 통해 동일한 작업을 수행하려면,이 작업을 수행:
단계 1)관리자 계정에 로그인합니다.
단계 2)
- 왼쪽 클릭 데이터베이스의 탐색 모음에서.
- 데모를 클릭합니다.
3 단계)쿼리 편집기에 쿼리 입력:
UPDATE PriceSET price = (SELECT price FROM Price2 WHERE Price2.id = Price.id)WHERE EXISTS (SELECT id, priceFROM Price2WHERE Price2.id = Price.id);
4 단계)실행 버튼을 클릭합니다.
이제 가격 표는 다음과 같습니다:
삭제 문
를 통해 동일한 작업을 수행하려면,이 작업을 수행:
단계 1)당신의 관리자 계정에 로그인합니다.
단계 2)
- 왼쪽 클릭 데이터베이스의 탐색 모음에서.
- 데모를 클릭합니다.
3 단계)쿼리 편집기에 쿼리 입력:
DELETE FROM PriceWHERE EXISTS (SELECT * FROM Price2 WHERE Price.id = Price2.id);
4 단계)실행 버튼을 클릭합니다.
이제 가격 표는 다음과 같습니다:
요약
- 존재 연산자는 하위 쿼리에 행이 있는지 여부를 테스트합니다.
- 하위 쿼리와 함께 사용되며 하위 쿼리가 하나 이상의 행을 반환할 때 충족되었다고 합니다.
- 선택,업데이트,삽입 및 삭제 명령문과 함께 사용됩니다.
이 자습서에 사용된 데이터베이스 다운로드