SQL

BETWEEN, IN, LIKE

Bordercolli 2023. 8. 16. 10:18
728x90

BETWEEN 

BETWEEN A AND B를 그대로 사용한 것

A와 B사이에 값을 의미하는 명령어

문제: 1학년 1학기 성적이 3.0 이상이고 4.0이하인 학생들만 출력해보자.

사용방법

이렇게하면 3.0이상이면서 4.0미만인 1학년 1학기 컬럼과 학년 컬럼이 있는 레코드가 출력된 모습을 확인해볼 수 있다.

 

IN 

소괄호 안에 값이 있는지 여부를 조회하기 위한 연산자.

문제: 학생 테이블에 학과 정보를 가지고 예제코드를 작성해보자.

학과가 물리학과와 화학과인 학생들만 있는 레코드 중에서 학번, 이름, 학과 레코드만 출력하라.

IN은 학과 컬럼에서 물리학과, 화학과를 제외한 나머지는 false로 인식하여 true인 물리학과와 화학과만을 출력하는 구조라고 이해할 수 있다. 

 

문제2: 과목 정보에서 과목번호, 과목명, 이수구분, 학점, 학과번호 컬럼을 출력하는데, 학과번호는 학과명으로 별칭을 사용해서 출력하고 이수구분이 전필, 전선인 컬럼들만 값을 가진 레코드만 출력해달라.

 

LIKE

테이블에 데이터 중에서 비교하고자 하는 것과 일치하는 경우에만 데이터가 출력되도록 하는 연산자.

만약 학생들 중에서 서울에 거주하는 학생들만 출력한다고 가정해보자. 이런 경우 모든 주소를 하나씩 찾을 필요가 없이 LIKE를 사용하면 보다 편하게 얻을 수 있다.

문제: 서울 정보에서 주소가 서울인 학생들만 출력해보자.

%는 wildcard역할을 해준다.

서울특별시% -> 뒤가 무엇이 오든지 상관없지만 앞은 서울특별시라는 단어가 와야한다.

문제2: 학생정보에서 생년월일에서 2월달에 생일이 있는 학생들만 찾아보자.

_ 의 의미는 어떤 문자가 오든지 언더바 개수만큼 어떤 문자가 올 수 있다. (_가 5개라면 5글자의 어떤 문자 아무거나 올 수 있다. )

별칭을 사용하여 컬럼을 정리

※ 언더바의 개수가 텍스트 개수와 동일해야 한다. 

이런 식으로 작성도 가능하다.

이렇게 혼합도 가능하다. ▲

 

정리: BETWEEN A AND B, IN, LIKE 

-> WHERE 컬럼 BETWEEN 값 AND 값

-> WHERE 컬럼 IN (값, 값...)

-> WHERE 컬럼 LIKE '% 또는 _해서 추출하고자 하는 단어'

'SQL' 카테고리의 다른 글

WHERE, INSERT  (0) 2023.08.16
IS NULL, 비트 단위 논리연산자  (0) 2023.08.16
연결연산자, 논리연산자  (0) 2023.08.16
AS, 산술연산  (0) 2023.08.14
SELECT, DISTINCT, ORDER BY  (0) 2023.08.14