행이 MySQL 테이블에 존재하는지 여부를 테스트하려면 Existing 조건을 사용하십시오. 존재 조건은 하위 쿼리와 함께 사용할 수 있습니다. 테이블에 행이 있으면 true를 반환하고, 그렇지 않으면 false를 반환합니다. True는 1의 형태로 표현되고, False는 0의 형태로 표현됩니다.
이해를 돕기 위해 먼저 CREATE 명령을 사용하여 테이블을 생성합니다. 다음은 테이블 생성 쿼리입니다 -
mysql> CREATE table ExistsRowDemo-> (-> ExistId int,-> Name varchar(100)-> );Query OK, 영향을 받은 행 0개(0.53초)
테이블을 성공적으로 만든 후 INSERT 명령을 사용하여 일부 레코드를 삽입합니다. 테이블에 레코드를 삽입하는 쿼리 -
mysql> INSERT into ExistsRowDemo values(100,'John');Query OK, 1행 영향(0.16초)mysql> INSERT into ExistsRowDemo values(101,'Bob');Query OK, 1행 영향(0.17초) )mysql> INSERT into ExistsRowDemo values(103,'Carol');Query OK, 1개의 row가 영향을 받았습니다(0.20초)mysql> INSERT into ExistsRowDemo values(104,'David');Query OK, 1개의 row가 영향을 받았습니다. /사전>모든 레코드를 삽입한 후 SELECT 명령을 사용하여 다음과 같이 표시할 수 있습니다. -
mysql> SELECT * from ExistsRowDemo;다음은 출력입니다 -
+---------+-------+| 존재 ID | 이름 |+---------+-------+| 100 | 존 || 101 | 밥 || 103 | 캐롤 || 104 | David |+---------+-------+세트의 행 4개(0.00초)일부 레코드를 테이블에 추가했습니다. EXISTS 조건을 이용하여 테이블에 행이 있는지 여부를 확인하는 구문은 다음과 같습니다. -
SELECT EXISTS(SELECT * FROM yourTableName WHERE yourCondition);결과를 얻기 위해 위의 쿼리를 적용하고 있습니다 -
참고:먼저 테이블에 행이 존재하는 조건을 고려하고 있습니다. 이후 행이 존재하지 않을 때 조건을 언급합니다.사례 1
이 경우 행이 존재할 때 조건을 부여합니다. 위의 구문을 적용하여 행이 있는지 여부를 테스트해 보겠습니다.
mysql> SELECT EXISTS(ExistsRowDemo WHERE ExistId=104의 SELECT *);다음은 출력입니다 -
+---------------------------------------------- ------+| EXISTS(ExistsRowDemo WHERE ExistId=104의 SELECT *)|+------------------------------------------------- ------------------+| 1 |+------------------------------------------------- -------+1 행 세트(0.00초)위의 샘플 출력에서 우리가 얻은 값이 1이므로 행이 존재한다는 것이 분명합니다. 이것은 TRUE를 의미합니다!
사례 2
여기서는 row가 존재하지 않을 때의 조건을 설명하고 있습니다. 위 쿼리를 적용해보겠습니다.
mysql> SELECT EXISTS(ExistsRowDemo WHERE ExistId=105의 SELECT *);다음은 출력입니다 -
+---------------------------------------------- ------+| EXISTS(ExistsRowDemo WHERE ExistId=105의 SELECT *)|+---------------------------------- ------------------+| 0 |+----------------------------------------------- -------+1 행 세트(0.00초)위의 출력에서 우리는 출력이 0, 즉 거짓(행이 존재하지 않음)임을 알 수 있습니다.