Computer >> 컴퓨터 >  >> 프로그램 작성 >> MySQL

MySQL 하위 쿼리에 레코드가 있는지 어떻게 테스트할 수 있습니까?


MySQL EXIST 연산자를 사용하여 하위 쿼리에 레코드가 있는지 테스트할 수 있습니다. 즉, EXIST 연산자가 하위 쿼리가 행을 반환하는지 확인한다고 말할 수 있습니다. MySQL 하위 쿼리와 함께 EXIST 연산자를 사용하는 구문은 다음과 같습니다. -

구문

어디에 존재하는지(하위 쿼리)

위의 EXIST(서브 쿼리) 표현식은 하위 쿼리가 하나 이상의 행을 반환하면 TRUE를 반환하고 그렇지 않으면 false를 반환합니다.

예시

이해하기 위해 다음 표의 데이터를 사용하고 있습니다. −

mysql> 고객에서 * 선택;+-------------+---------+| 고객 ID | 이름 |+-------------+----------+| 1 | 라훌 || 2 | 야쉬팔 || 3 | 가우라프 || 4 | Virender |+-------------+----------+4행 세트(0.00초)mysql> 예약에서 * 선택;+------ +-------------+------------+| 아이디 | 고객 아이디 | 일 |+--------+-------------+------------+| 1 | 1 | 2017-12-30 || 2 | 2 | 2017-12-28 || 3 | 2 | 2017-12-29 || 4 | 1 | 2017-12-25 || 5 | 3 | 2017-12-26 |+------+-------------+------------+5행 세트(0.00초) 

다음은 위에서 언급한 테이블을 사용하여 EXIST가 있는 MySQL 하위 쿼리입니다. −

mysql> WHERE EXISTS에서 고객 이름 선택 (SELECT * FROM Reservations WHERE Customers.customer_id =Reservations.customer_id);+---------+| 이름 |+---------+| 라훌 || 야쉬팔 || Gaurav |+---------+3행 세트(0.06초)

위의 쿼리는 예약한 고객의 이름을 제공합니다.