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

MySQL에서 "SELECT * FROM table WHERE condition1 and condition2"와 같은 두 개의 where 절을 사용할 수 있습니까?

<시간/>

예, AND 또는 OR 연산자를 사용해야 합니다. 구문은 다음과 같습니다 -

select *from yourTableName where yourColumnName1=yourValue AND
yourColumnName=yourValue';

AND 조건의 경우 두 조건이 모두 참이어야 하며 그렇지 않으면 빈 집합이 표시됩니다.

위의 구문을 이해하기 위해 테이블을 생성해 보겠습니다. 테이블을 생성하는 쿼리는 다음과 같습니다 -

mysql> create table WhereDemo
   -> (
   -> Id int,
   -> Name varchar(20)
   -> );
Query OK, 0 rows affected (0.56 sec)

이제 insert 명령을 사용하여 테이블에 일부 레코드를 삽입할 수 있습니다. 쿼리는 다음과 같습니다 -

mysql> insert into WhereDemo values(101,'Maxwell');
Query OK, 1 row affected (0.14 sec)
mysql> insert into WhereDemo values(110,'David');
Query OK, 1 row affected (0.21 sec)
mysql> insert into WhereDemo values(1000,'Carol');
Query OK, 1 row affected (0.18 sec)
mysql> insert into WhereDemo values(1100,'Bob');
Query OK, 1 row affected (0.47 sec)
mysql> insert into WhereDemo values(115,'Sam');
Query OK, 1 row affected (0.23 sec)

select 문을 사용하여 테이블의 모든 레코드를 표시합니다. 쿼리는 다음과 같습니다 -

mysql> select *from WhereDemo;

다음은 출력입니다 -

+------+---------+
| Id   | Name    |
+------+---------+
|  101 | Maxwell |
|  110 | David   |
| 1000 | Carol   |
| 1100 | Bob     |
|  115 | Sam     |
+------+---------+
5 rows in set (0.00 sec)

다음은 하나 이상의 조건을 가진 테이블에서 모든 레코드를 선택하는 쿼리입니다 -

mysql> select *from WhereDemo where Id=1100 AND Name='Bob';

다음은 출력입니다 -

+------+------+
| Id   | Name |
+------+------+
| 1100 | Bob  |
+------+------+
1 row in set (0.00 sec)