[WHERE] 조건절 학습하기
WHERE (조건)
👇 student_mst 테이블에 데이터 입력 👇


student_mst 테이블을 SELECT 하여 조회할 때
'student_year'이 1인 학생만을 조회하고 싶을 때에는 어떻게 해야 하는가?👉 WHERE 절을 사용한다.
WHERE (조건)이
FROM절에서 읽어온 테이블에서 특정 조건에 맞는 결과만 갖도록 데이터를 필터링한다.
👇 WHERE 조건의 종류 👇
비교 연산자 : >, <, >=, <=, =, !=
AND, OR 연산자
BETWEEN 연산자
IN 연산자
LIKE 연산자
NULL 연산자
WHERE 예제 1
비교 연산자 : >, <, >=, <=, =(같다), !=(같지않다)
위의 'student_mst'테이블에서
'student_year'이 1인 학생만을 조회하고 싶을 때에는 어떻게 해야 하는가?라는 예제를 풀이해보자


WHERE문의 조건으로 = 비교 연산자를 사용하여 'student_year'이 1인 데이터만을 조회한다.
Java와 다르게 SQL에서는 = 기호가 '같다, equals'를 의미한다. (대입 X)
'student_mst'테이블에서 'score'가 85점이 넘는 데이터를 조회해라


WHERE 예제 2
AND / OR 연산자
조건을 여러 개 사용하고 싶을 때
'student_mst'테이블에서 'student_year'이 1인 학생 중에 'score'가 80점이 넘는 데이터를 조회해라


'student_mst'테이블에서
'student_year'이 2인 학생중에 'score'가 90점 이상인 데이터와
'student_year'이 3인 학생중에 'score'가 75점인 데이터를 조회해라


AND안에 OR이 들어갈 경우 괄호로 묶어서 표기를 해준다.
*SELECT는 아래와 같이 Column의 순서 변경이 가능하다.*




WHERE 예제 3
BETWEEN 연산자
조건의 범위를 지정하고 싶을 때 부등호를 대신하여 사용할 수 있다.
'student_mst'테이블에서 'score'가 80과 90 사이에 있는 데이터를 조회해라


'student_mst'테이블에서 'score'가 80과 90 사이에 있지 않는 데이터를 조회해라


연산자 기호를 쓸 때에는 not이 맨 앞으로 (not student_year = 3 / student_year != 3)
IN, LIKE, BETWEEN과 같은 키워드를 쓸 땐 not을 키워드 바로 앞에 쓴다.
WHERE 예제 4
IN 연산자
in 조건 뒤로 나열한 조건들 중 일치하는 데이터를 모두 가져오는 연산자
'student_mst'테이블에서 'student_year'이 1, 2인 데이터를 조회해라


👇OR을 대신해서 IN으로 값을 묶을 수 있기 때문에 위의 두 사진은 조회 값이 같다.👇

'student_mst'테이블에서 'student_year'이 2, 3이 아닌 데이터를 조회해라


WHERE 예제 5
LIKE 연산자
부분적으로 일치하는 데이터의 칼럼을 찾는 연산자
'student_mst'테이블에서 'name'에 '수'가 들어있는 데이터를 조회해라


WHERE Column명 LIKE '% 조건 문자%'
위의 쿼리 문의 결과 값으로 '신경수', '박수현', '김수현'의 값이 나올 때 '신경수'를 없애는 방법은?


'student_mst'테이블에서 'name'의 맨 뒤가 '주'로 끝나는 데이터를 조회해라


앞에는 어떤 문자열이 와도 상관없다.
WHERE 예제 5
IS NULL / IS not NULL 연산자
필드 값이 NULL 인 데이터를 조회하는 연산자
필드 값이 NULL인 데이터를 조회하기 위해서는
'fields = NULL'이 아니라 'fields IS NULL'을 사용해야 한다.


'student_mst' 테이블에 NULL값이 없기 때문에 조회할 수 있는 값이 없다.


반대로 'student_mst' 테이블에 NULL 값이 없는 fields를 검색하게 되면 모든 값이 조회된다.
(비워진 테이블 값이 없다.)
* 다음 쿼리가 없는 경우 쿼리문 마지막의 세미클론을 생략할 수 있다. (쿼리 구분용) *
지금까지 데이터베이스 SELECT의 [WHERE] 절에 대해 알아보았습니다.
다음 포스팅에서는 SELECT의 [UPDATE]과 [DELETE]에 대해 알아보겠습니다.
❤긴 글 읽어주셔서 감사드립니다❤
'웹개발 > 웹 개발[데이터베이스-MySQL]' 카테고리의 다른 글
| 데이터베이스 [SQL] 트리거(Trigger) (0) | 2022.12.18 |
|---|---|
| 데이터베이스 [HeidiSQL] UPDATE(수정), DELETE(삭제) (0) | 2022.12.15 |
| 데이터베이스 [SQL]쿼리문의 실행순서 (0) | 2022.12.15 |
| 데이터베이스 [데이터베이스(DB), SQL, DBMS] (0) | 2022.12.15 |
| 데이터베이스 [HeidiSQL] 프로그램 실행 (0) | 2022.12.13 |