>  기사  >  데이터 베이스  >  mysql where 키워드를 사용하는 방법

mysql where 키워드를 사용하는 방법

青灯夜游
青灯夜游원래의
2022-02-24 18:51:135638검색

mysql에서는 쿼리 조건을 지정하기 위해 where 키워드를 SELECT 문과 함께 사용해야 합니다. 즉, 조건부로 데이터 테이블에서 데이터를 쿼리하고 반환하는 구문은 "SELECT {*|필드 열 이름} FROM 데이터 테이블 이름입니다. WHERE 쿼리 조건;".

mysql where 키워드를 사용하는 방법

이 튜토리얼의 운영 환경: windows7 시스템, mysql8 버전, Dell G3 컴퓨터.

MySQL WHERE: 조건부 쿼리 데이터

MySQL에서는 데이터 테이블의 데이터를 조건부로 쿼리해야 하는 경우 WHERE 키워드를 사용하여 쿼리 조건을 지정할 수 있습니다.

WHERE 키워드를 사용하기 위한 구문 형식은 다음과 같습니다.

SELECT {*|字段列名} FROM 数据表名 WHERE 查询条件;

쿼리 조건은 다음과 같습니다.

  • 비교 연산자와 논리 연산자가 포함된 쿼리 조건

  • BETWEEN AND 키워드가 포함된 쿼리 조건

  • 쿼리 IS NULL 키워드가 포함된 조건

  • IN 키워드가 포함된 쿼리 조건

  • LIKE 키워드가 포함된 쿼리 조건

단일 조건 쿼리 문

단일 조건은 WHERE 뒤에 하나의 쿼리 조건만 있음을 나타냅니다. 예어.

예제 1

tb_students_info 데이터 테이블에서 키 170cm인 학생의 이름을 조회해 본 SQL 문과 실행 결과는 다음과 같습니다.

mysql> SELECT name,height FROM tb_students_info
    -> WHERE height=170;
+-------+--------+
| name  | height |
+-------+--------+
| Susan |    170 |
+-------+--------+
1 row in set (0.17 sec)

쿼리 결과에 기록된 높이 필드의 값이 170인 것을 확인할 수 있습니다. 지정된 조건으로 조회 시, 데이터 테이블에 조회 조건과 일치하는 레코드가 없는 경우, "Empty set (0.00sec)"이라는 프롬프트가 표시됩니다.

예제 2

tb_students_info 데이터 테이블에서 22세 미만의 학생 이름을 조회해 보면, SQL 문과 실행 결과는 다음과 같습니다.

mysql> SELECT name,age FROM tb_students_info
    -> WHERE age<22;
+------+------+
| name | age  |
+------+------+
| John |   21 |
+------+------+
1 row in set (0.05 sec)

쿼리 결과의 모든 레코드의 age 필드 값이 22세 미만이고, 22세 이상의 레코드는 반환되지 않는 것을 확인할 수 있습니다.

다중 조건 쿼리문

WHERE 키워드 뒤에 여러 쿼리 조건이 있을 수 있으므로 쿼리 결과가 더 정확해집니다. 여러 쿼리 조건은 논리 연산자 AND(&&), OR(||) 또는 XOR로 구분됩니다.

  • AND: 레코드는 모든 쿼리 조건을 충족하는 경우에만 쿼리됩니다.

  • OR: 레코드는 쿼리 조건을 충족하는 경우에만 쿼리됩니다.

  • XOR: 조건 중 하나를 충족하고 다른 조건을 충족하지 않는 경우에만 레코드가 쿼리됩니다.

예제 3

tb_students_info 테이블에서 나이가 21세 이상, 키가 175 이상인 학생 정보를 조회해 보면 다음과 같다.

mysql> SELECT name,age,height FROM tb_students_info 
    -> WHERE age>21 AND height>=175;
+--------+------+--------+
| name   | age  | height |
+--------+------+--------+
| Henry  |   23 |    185 |
| Jim    |   24 |    175 |
| Thomas |   22 |    178 |
+--------+------+--------+
3 rows in set (0.00 sec)

쿼리 결과의 모든 레코드의 age 필드가 21보다 크고 height 필드가 175보다 크거나 같은 것을 확인할 수 있습니다.

예제 4

tb_students_info 테이블에서 나이가 21세 이상, 키가 175세 이상인 학생 정보를 조회해 보면 다음과 같다.

mysql> SELECT name,age,height FROM tb_students_info 
    -> WHERE age>21 OR height>=175;
+--------+------+--------+
| name   | age  | height |
+--------+------+--------+
| Dany   |   25 |    160 |
| Green  |   23 |    158 |
| Henry  |   23 |    185 |
| Jane   |   22 |    162 |
| Jim    |   24 |    175 |
| Lily   |   22 |    165 |
| Susan  |   23 |    170 |
| Thomas |   22 |    178 |
| Tom    |   23 |    165 |
+--------+------+--------+
9 rows in set (0.00 sec)

쿼리 결과의 모든 레코드의 age 필드가 21보다 크거나 height 필드가 175보다 크거나 같은 것을 확인할 수 있습니다.

예제 5

tb_students_info 테이블에서 나이가 21세 이상, 키가 175세 미만인 학생 정보와 나이가 21세 미만, 키가 175 이상인 학생 정보를 쿼리합니다. 구문과 실행 결과는 다음과 같습니다.

mysql> SELECT name,age,height FROM tb_students_info 
    -> WHERE age>21 XOR height>=175;
+-------+------+--------+
| name  | age  | height |
+-------+------+--------+
| Dany  |   25 |    160 |
| Green |   23 |    158 |
| Jane  |   22 |    162 |
| Lily  |   22 |    165 |
| Susan |   23 |    170 |
| Tom   |   23 |    165 |
+-------+------+--------+
7 rows in set (0.00 sec)

쿼리 결과의 모든 레코드의 age 필드는 21보다 크고 height 필드는 175보다 작은 것을 확인할 수 있습니다. tb_students_info 데이터 테이블에는 age 필드가 21보다 작고 height 필드가 175보다 크거나 같은 레코드가 없습니다.

OR, AND, XOR은 함께 사용할 수 있지만, 사용할 때는 연산자의 우선순위에 주의하세요. MySQL의 연산자 우선순위에 대한 자세한 내용은 "MySQL 연산자 우선순위" 섹션을 참조하세요.

쿼리 조건이 많을수록 검색되는 레코드 수가 줄어듭니다. 더 많은 조건을 설정할수록 쿼리문에 대한 제한이 많아지고 모든 조건을 충족할 수 있는 레코드가 적어집니다. 쿼리된 레코드를 원하는 대로 정확하게 만들기 위해 WHERE 문에서 쿼리 조건을 보다 구체적으로 설정할 수 있습니다.

【관련 추천: mysql 비디오 튜토리얼

위 내용은 mysql where 키워드를 사용하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.