mysql에서는 SELECT 문과 WHERE 키워드를 사용하여 조건부 쿼리를 구현할 수 있습니다. 구현 문은 "SELECT 필드 이름 FROM 데이터 테이블 WHERE 쿼리 조건"이며 SELECT 문은 데이터를 쿼리하는 데 사용됩니다. 쿼리 조건을 지정하는 데 사용됩니다.
이 튜토리얼의 운영 환경: 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!