- [MySQL] 11. 조건절 WHERE2024년 05월 31일
- Song hyun
- 작성자
- 2024.05.31.:12
728x90반응형[MySQL] 11. 조건절 WHERE
1. 조건절이란? : WHERE
2. 조건식의 응용3. 조건절에서 사용할 수 있는 대표 연산자
4. 연습문제 및 풀이
1. 조건절이란? : WHERE
(1) WHERE 절은 SELECT, UPDATR, INSERT 문에서 조건을 지정하여, 해당하는 데이터를 선택하거나, 수정하거나, 삭제할 때 사용한다.
(2) WHERE 절은 기본적으로 조건절을 포함하며, 조건식은 연산자와 피연산자로 이루어져 있다. 연산자는 비교 연산자, 논리 연산자 등이 있으며, 피연산자는 컬럼명, 상수값, 서브쿼리 등이 올 수 있다.
(3) ex: 아래의 SELECT 문에서는 WHERE 절에 "age>=20"이라는 조건식을 포함하고 있다.
SELECT * FROM users WHERE age >= 20;
-이렇게 WHERE 절을 사용해 쿼리를 작성하면, 해당하는 조건을 만족하는 데이터만 선택되어 결과로 반한된다. WHERE 절을 사용하지 않으면, 모든 데이터가 선택되어 반환된다.
2. 조건식의 응용
(1) WHERE 절은 여러 조건식을 조합해 사용할 수 있다.
(예시: 논리 연산자 AND/OR/NOT)
SELECT * FROM users WHERE age >= 20 AND gender = 'M';
-AND(=그리고): 논리 곱-> 두 개의 조건식이 전부 True 여야한다.
-OR(=또는): 논리 합-> 둘 중 하나라도 참이라면 True이다.
(2) WHERE 절과 서브 쿼리
SELECT * FROM users WHERE age >= 20 AND gender = 'M';
-이렇게 WHERE 절을 사용해 쿼리를 사용할 때는, 조건식을 명확하게 지정해야 한다.
잘못된 조건식을 사용하면 의도하지 않은 결과가 나올 수도 있기 때문이다.
-따라서, 조건식을 작성할 때는 문법적인 오류를 방지하기 위해 괄호를 사용하거나, 필요한 경우에는 서브 쿼리를 사용해 복잡한 조건식을 사용할 수 있다.
*서브 쿼리: 쿼리 내부의 쿼리
3. 조건절에서 사용할 수 있는 대표 연산자
= : equal
> : greater than
< : less than
>= ; greater than or equal to
<= : less than or equal to
<> Or ! : not equal to
BETWEEN : between a range of values
LIKE (search for a pattern)
IN
4. 연습문제 및 풀이
(1) 연습문제
더보기-- 1. grade가 3인 학생들 조회 하기 (특정 데이터를 지정하지 않으면 전부 출력 - 컬럼) -- 2. 이름이 홍길동인 학생 조회 하기 -- 3. 학번이 1부터 10까지인 학생들 조회하기 (between ) -- 4. 학과가 컴퓨터 공학과 그리고, 학년이 2학년인 학생들만 조회 해줘 -- 5. 학과가 컴퓨터공학과 이거나(또는) 학년이 2학년인 학생들을 조회 해주세요 -- 6. 학생 이름이 홍길동이 아닌 학생들을 조회해주세요 -- 7. 학생들의 학년이 2학년 이상인 사람들을 조회 -- 8. 학생들의 학년이 2학년 미만인 사람들을 조회 -- 9. 학년이 1학년 이거나 3학년인, 4학년 학생들 조회하기 -- IN 으로 사용
(2) 풀이
더보기-- 1. grade가 3인 학생들 조회 하기 (특정 데이터를 지정하지 않으면 전부 출력 - 컬럼) select * from student where grade=3; -- 2. 이름이 홍길동인 학생 조회 하기 select * from student where name='홍길동'; -- 3. 학번이 1부터 10까지인 학생들 조회하기 (between ) select * from student where student_id between 1 AND 10; -- 4. 학과가 컴퓨터 공학과 그리고, 학년이 2학년인 학생들만 조회 해줘 select * from student where major='컴퓨터공학과' AND grade=2; -- 5. 학과가 컴퓨터공학과 이거나(또는) 학년이 2학년인 학생들을 조회 해주세요 select * from student where major='컴퓨터공학과' or grade=2; -- 6. 학생 이름이 홍길동이 아닌 학생들을 조회해주세요 select * from student where NOT name='홍길동'; -- 7. 학생들의 학년이 2학년 이상인 사람들을 조회 select * from student where grade>2; -- 8. 학생들의 학년이 2학년 미만인 사람들을 조회 select * from student where grade<2; -- 9. 학년이 1학년 이거나 3학년인, 4학년 학생들 조회하기 -- IN 으로 사용 select * from student where grade IN(1,3,4);
728x90반응형'MySQL > 기본 개념 및 지식' 카테고리의 다른 글
[MySQL] 13. UPDATE 구문과 조건절 (0) 2024.05.31 [MySQL] 12. 조건절 활용 : 샘플 데이터를 활용한 도전 과제 (0) 2024.05.31 [MySQL] 10. 기타 기능들 살펴보기 (0) 2024.05.30 [MySQL] 9. INSERT 구문과 제약 사항 (0) 2024.05.30 [MySQL] 8. 테이블 생성 및 제약 조건 연습 (0) 2024.05.30 다음글이전글이전 글이 없습니다.댓글