AND, OR의 차이점은 AND가 전체 조건이 참이 되려면 두 조건이 모두 참이어야 한다고 평가한다는 것입니다. OR은 전체 조건이 참이 되려면 하나의 조건이 참이어야 한다고 평가합니다.
테이블을 만들어 봅시다 -
mysql> create table demo70 −> ( −> id int not null auto_increment primary key, −> name varchar(20), −> age int −> ); Query OK, 0 rows affected (0.67 sec)
insert 명령을 사용하여 일부 레코드를 테이블에 삽입하십시오 -
mysql> insert into demo70(name,age) values('John',23); Query OK, 1 row affected (0.18 sec) mysql> insert into demo70(name,age) values('David',21); Query OK, 1 row affected (0.08 sec) mysql> insert into demo70(name,age) values('Mike',22); Query OK, 1 row affected (0.15 sec) mysql> insert into demo70(name,age) values('Chris',20); Query OK, 1 row affected (0.10 sec) mysql> insert into demo70(name,age) values('John',24); Query OK, 1 row affected (0.13 sec) mysql> insert into demo70(name,age) values('David',22); Query OK, 1 row affected (0.15 sec)
select 문을 사용하여 테이블의 레코드 표시 -
mysql> select *from demo70;
이것은 다음과 같은 출력을 생성합니다 -
+----+-------+------+ | id | name | age | +----+-------+------+ | 1 | John | 23 | | 2 | David | 21 | | 3 | Mike | 22 | | 4 | Chris | 20 | | 5 | John | 24 | | 6 | David | 22 | +----+-------+------+ 6 rows in set (0.00 sec)
다음은 OR 연산자 쿼리입니다 -
mysql> select *from demo70 −> where name="John" or age=22;
이것은 다음과 같은 출력을 생성합니다 -
+----+-------+------+ | id | name | age | +----+-------+------+ | 1 | John | 23 | | 3 | Mike | 22 | | 5 | John | 24 | | 6 | David | 22 | +----+-------+------+ 4 rows in set (0.00 sec)
OR 결과에서 name이 John이면 조건은 true가 됩니다. 행에 연령이 22이면 true가 됩니다.
이제 AND 연산자의 결과를 살펴보겠습니다.
쿼리는 다음과 같습니다 -
mysql> select *from demo70 −> where name="John" and age=22;
이것은 다음과 같은 출력을 생성합니다 -
Empty set (0.00 sec)
AND는 동일한 이름 John과 22세를 가진 행이 없기 때문에 빈 집합을 제공합니다.