반응형
-- 연습할 테이블 생성
CREATE TABLE student(
ID VARCHAR(8) PRIMARY KEY NOT NULL,
NAME VARCHAR(20),
AGE INT
);
INSERT INTO student VALUES('1','홍길동',20);
INSERT INTO student VALUES('2','홍길순', 23);
INSERT INTO student VALUES('3','김철수',22);
INSERT INTO student VALUES('4','김민수',27);
📝BETWEEN
새로운 테이블을 만들고 데이터를 입력하겠습니다(빨간색영역)
그리고 나이가 23 ~ 25인 사람을 조회하려고 합니다. WHERE절과 AND를 이용해 할 수도 있지만
BETWEEN 이라는 걸 사용해서 조회할 수도 있습니다. 말 그대로 그 사이 값을 조회하는 거라고 생각하면 됩니다.
- SELECT 필드명... FROM 테이블명 WHERE 필드명(조건을 걸) BETWEEN 최소값 AND 최대값(범위를 의미합니다)
- SELECT id, nameFROM student WHERE age BETWEEN 23 AND 25;
SELECT id, name FROM student WHERE age BETWEEN 23 AND 25;
ID | NAME |
2 | 홍길순 |
📝IN
이번에는 나이가 22살, 23살인 사람만 조회하도록 하겠습니다. OR과 WHERE절로 조회할 수 있지만
IN이라는 걸 쓰면 더 간단하게 할 수 있습니다.
- SELECT id, name FROM student WHERE age IN('경기','충남','인천');
- SELECT 필드명FROM테이블명 WHERE 필드명(조건을 걸) IN(조건);
SELECT id, name FROM student WHERE age IN (22, 23);
ID | NAME |
2 | 홍길순 |
3 | 김철수 |
📝LIKE
LIKE에 대해서 배워보도록 하겠습니다. 일단 홍%라고 주어진 것에 %의 의미는 무엇이든 허용한다는 의미입니다.
%는 몇글자인지 상관이 없습니다 여기에서 홍으로 시작하는 모든 것을 찾게 되는 거죠
_의 경우 딱 한글자만 무엇이든 허용한다는 의미입니다.
여기에서는 성이 '김'이든 '홍'이든 상관 없이 이름이 '길순'인 세글자 성명이면 다 찾아줍니다.
_, %를 조합해서 쓸 수 있습니다 여기에서는 성은 상관 없고
가운데가 '민'이고 세글자인든 네글자이든 뒤에는 상관없이 찾아줍니다.
SELECT id, name FROM student WHERE name LIKE '%길동';
SELECT id, name FROM student WHERE name LIKE '_길순';
SELECT id, name FROM student WHERE name LIKE '_민%';
ID | NAME |
1 | 홍길동 |
ID | NAME |
2 | 홍길순 |
ID | NAME |
4 | 김민수 |
반응형