>  기사  >  데이터 베이스  >  mysql 조건부 쿼리 문이란 무엇입니까?

mysql 조건부 쿼리 문이란 무엇입니까?

青灯夜游
青灯夜游원래의
2022-01-05 17:20:487547검색

mysql에서는 SELECT 문과 WHERE 키워드를 사용하여 조건부 쿼리를 구현할 수 있습니다. 구현 문은 "SELECT 필드 이름 FROM 데이터 테이블 WHERE 쿼리 조건"이며 SELECT 문은 데이터를 쿼리하는 데 사용됩니다. 쿼리 조건을 지정하는 데 사용됩니다.

mysql 조건부 쿼리 문이란 무엇입니까?

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

mysql에서는 SELECT 문과 WHERE 키워드를 사용하여 조건부 쿼리를 구현할 수 있습니다.

SELECT 문은 데이터를 쿼리할 수 있습니다. 데이터 쿼리는 필요에 따라 데이터베이스에서 다양한 데이터를 얻기 위해 다양한 쿼리 방법을 사용하는 것을 의미하며 가장 자주 사용되며 중요한 작업입니다.

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은 함께 사용할 수 있지만, 사용할 때는 연산자의 우선순위에 주의하세요.

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

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

위 내용은 mysql 조건부 쿼리 문이란 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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