mysql에서는 쿼리 조건을 지정하기 위해 where 키워드를 SELECT 문과 함께 사용해야 합니다. 즉, 조건부로 데이터 테이블에서 데이터를 쿼리하고 반환하는 구문은 "SELECT {*|필드 열 이름} FROM 데이터 테이블 이름입니다. WHERE 쿼리 조건;".
이 튜토리얼의 운영 환경: windows7 시스템, mysql8 버전, Dell G3 컴퓨터.
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 중국어 웹사이트의 기타 관련 기사를 참조하세요!