MySQL 논리 연산자(Logical Operators) 2

dpwl·2024년 4월 9일
0

Data Analysis

목록 보기
12/83

1. 논리 연산자

연산자의미
AND조건을 모두 만족하는 경우 TRUE
OR하나의 조건이라도 만족하는 경우 TRUE
NOT조건을 만족하지 않는 경우 TRUE
BETWEEN조건값이 범위 사이에 있으면 TRUE
IN조건값이 목록에 있으면 TRUE
LIKE조건값이 패턴에 맞으면 TRUE

논리 연산자 중 AND, OR, NOT여기를 클릭하면 더 자세히 알 수 있다.

1.4 BETWEEN 연산자

BETWEEN 문법

SELECT column1, column2, ...
FROM tablename
WHERE column1 BETWEEN value1 AND value2;

Example 1: 나이가 25세에서 31세 사이의 데이터 검색하기

SELECT * FROM family
WHERE age BETWEEN 25 AND 31;

똑같은 결과값을 가져오는 다른 query문은 다음과 같다.

SELECT * FROM celeb WHERE age>=25 AND age<=31;

Example 2: 생년월일이 1990년에서 2000년 사이가 아니면서 여자인 데이터 검색하기

SELECT * FROM family
WHERE (NOT birthday BETWEEN 19900101 AND 20001231) AND sex='F';

1.5 IN 연산자

IN 문법

SELECT column1,  column2, ...
FROM tablename
WHERE column IN (value1, value2, ...);

Example 1: 나이가 30세, 54세 중 하나인 데이터 검색하기

SELECT * FROM family
WHERE age IN (30, 54);

나이가 30세, 54세 중 하나인 데이터이기에 IN 문법 말고도 OR 문법을 써도 결과 값은 같다.

SELECT * FROM family WHERE age=30 OR age=54;

1.6 LIKE 연산자

LIKE 문법

SELECT column1, column2, ...
FROM tablename
WHERE column LIKE pattern;

Example 1: 직업이 '직장인'인 데이터 검색하기

SELECT * FROM family
WHERE occupation LIKE '직장인';

참고:아래 문제풀이를 보면 해당 문제는 LIKE와 같은 결과값을 가져온다.

SELECT * FROM family
WHERE occupation='직장인';

Example 2: '직'으로 시작하는 직업을 가진 데이터 검색하기

SELECT * FROM family
WHERE occupation LIKE '직%';

문자열 내에서 %(percentage)를 사용하면 개수에 관계없이 모든 문자를 의미한다.

Example 3: 장인'으로 끝나는 직업을 가진 데이터 검색하기

SELECT * FROM family
WHERE occupation LIKE '%장인';

Example 4: 직업명에 '직장인'이 포함된 데이터 검색하기

SELECT * FROM family
WHERE occupation LIKE '%직장인%';

이 예시에서 00이 포함된00의 앞과 뒤에 문자가 포함될 수 있다는 의미한다.

Example 5: 직업명의 두번째 글자가 '장'인 데이터 검색하기

SELECT * FROM family
WHERE occupation LIKE '_장%';

문자열 내에서 _(underscore)를 사용하면 문자 상관없이 하나의 문자만을 의미한다.

Example 6: 직업명이 '직'로 시작하고 최소 2글자 이상인 데이터 검색하기

SELECT * FROM family
WHERE occupation LIKE '직_%';

Example 7: 직업명이 '직'으로 시작하고 '인'로 끝나는 데이터 검색하기

SELECT * FROM family
WHERE occupation LIKE '직%인';
profile
거북선통통통통

0개의 댓글