home강의 홈으로
Section 1. SELECT 기초 - 원하는 정보 찾기
Lesson 2. 각종 연산자들

🕹️ 실습 링크 바로가기

위의 사이트에서 실습이 안 될 시 👉 클릭해주세요!



1. 사칙연산

연산자 의미
+, -, *, / 각각 더하기, 빼기, 곱하기, 나누기
%, MOD 나머지

SELECT 1 + 2; SELECT 5 - 2.5 AS DIFFERENCE; SELECT 3 * (2 + 4) / 2, 'Hello'; SELECT 10 % 3;

❗ 문자열에 사칙연산을 가하면 0으로 인식

SELECT 'ABC' + 3; SELECT 'ABC' * 3; SELECT '1' + '002' * 3; -- 숫자로 구성된 문자열은 숫자로 자동인식
SELECT OrderID + ProductID FROM OrderDetails; SELECT ProductName, Price / 2 AS HalfPrice FROM Products;



2. 참/거짓 관련 연산자


SELECT TRUE, FALSE; SELECT !TRUE, NOT 1, !FALSE, NOT FALSE;

💡 MySQL에서는 TRUE는 1, FALSE는 0으로 저장됩니다.

SELECT 0 = TRUE, 1 = TRUE, 0 = FALSE, 1 = FALSE;
SELECT * FROM Customers WHERE TRUE; SELECT * FROM Customers WHERE FALSE;



연산자 의미
IS 양쪽이 모두 TRUE 또는 FALSE
IS NOT 한쪽은 TRUE, 한쪽은 FALSE

SELECT TRUE IS TRUE; SELECT TRUE IS NOT FALSE; SELECT (TRUE IS FALSE) IS NOT TRUE;



연산자 의미
AND, && 양쪽이 모두 TRUE일 때만 TRUE
OR, || 한쪽은 TRUE면 TRUE

SELECT TRUE AND FALSE, TRUE OR FALSE; SELECT 2 + 3 = 6 OR 2 * 3 = 6;
SELECT * FROM Orders WHERE CustomerId = 15 AND EmployeeId = 4; SELECT * FROM Products WHERE ProductName = 'Tofu' OR CategoryId = 8; SELECT * FROM OrderDetails WHERE ProductId = 20 AND (OrderId = 10514 OR Quantity = 50);



연산자 의미
= 양쪽 값이 같음
!=, <> 양쪽 값이 다름
>, < (왼쪽, 오른쪽) 값이 더 큼
>=, <= (왼쪽, 오른쪽) 값이 같거나 더 큼

SELECT 1 = 1, !(1 <> 1), NOT (1 < 2), 1 > 0 IS NOT FALSE; SELECT 'A' = 'A', 'A' != 'B', 'A' < 'B', 'A' > 'B'; SELECT 'Apple' > 'Banana' OR 1 < 2 IS TRUE;

❗ MySQL의 기본 사칙연산자는 대소문자 구분을 하지 않습니다.

SELECT 'A' = 'a';
💡 테이블의 컬럼이 아닌 값으로 선택하기. SELECT ProductName, Price, Price > 20 AS EXPENSIVE FROM Products; SELECT ProductName, Price, NOT Price > 20 AS CHEAP FROM Products;



연산자 의미
BETWEEN {MIN} AND {MAX} 두 값 사이에 있음
NOT BETWEEN {MIN} AND {MAX} 두 값 사이가 아닌 곳에 있음

SELECT 5 BETWEEN 1 AND 10; SELECT 'banana' NOT BETWEEN 'Apple' AND 'camera';
SELECT * FROM OrderDetails WHERE ProductID BETWEEN 1 AND 4; SELECT * FROM Customers WHERE CustomerName BETWEEN 'b' AND 'c';



연산자 의미
IN (...) 괄호 안의 값들 가운데 있음
NOT IN (...) 괄호 안의 값들 가운데 없음

SELECT 1 + 2 IN (2, 3, 4) SELECT 'Hello' IN (1, TRUE, 'hello')
SELECT * FROM Customers WHERE City IN ('Torino', 'Paris', 'Portland', 'Madrid')



연산자 의미
LIKE '... % ...' 0~N개 문자를 가진 패턴
LIKE '... _ ...' _ 갯수만큼의 문자를 가진 패턴

SELECT 'HELLO' LIKE 'hel%', 'HELLO' LIKE 'H%', 'HELLO' LIKE 'H%O', 'HELLO' LIKE '%O', 'HELLO' LIKE '%HELLO%', 'HELLO' LIKE '%H', 'HELLO' LIKE 'L%' SELECT 'HELLO' LIKE 'HEL__', 'HELLO' LIKE 'h___O', 'HELLO' LIKE 'HE_LO', 'HELLO' LIKE '_____', 'HELLO' LIKE '_HELLO', 'HELLO' LIKE 'HEL_', 'HELLO' LIKE 'H_O'
SELECT * FROM Employees WHERE Notes LIKE '%economics%' SELECT * FROM OrderDetails WHERE OrderID LIKE '1025_'




총정리

연산자 의미
+, -, *, / 각각 더하기, 빼기, 곱하기, 나누기
%, MOD 나머지
IS 양쪽이 모두 TRUE 또는 FALSE
IS NOT 한쪽은 TRUE, 한쪽은 FALSE
AND, && 양쪽이 모두 TRUE일 때만 TRUE
OR, || 한쪽은 TRUE면 TRUE
= 양쪽 값이 같음
!=, <> 양쪽 값이 다름
>, < (왼쪽, 오른쪽) 값이 더 큼
>=, <= (왼쪽, 오른쪽) 값이 같거나 더 큼
BETWEEN {MIN} AND {MAX} 두 값 사이에 있음
NOT BETWEEN {MIN} AND {MAX} 두 값 사이가 아닌 곳에 있음
IN (...) 괄호 안의 값들 가운데 있음
NOT IN (...) 괄호 안의 값들 가운데 없음
LIKE '... % ...' 0~N개 문자를 가진 패턴
LIKE '... _ ...' _ 갯수만큼의 문자를 가진 패턴

🤔얄코에게 질문하기질문은 반.드.시 이리로 보내주세요! ( 강의사이트 질문기능 ✖ )

강의에서 이해가 안 되거나 실습상 문제가 있는 부분,
설명이 잘못되었거나 미흡한 부분을 메일로 알려주세요!

답변드린 뒤 필요할 경우 본 페이지에
관련 내용을 추가/수정하도록 하겠습니다.

이메일 주소
yalco@yalco.kr
메일 제목 (반드시 아래 제목을 붙여넣어주세요!)
[질문] MySQL 1-2

🛑질문 전 필독!!

  • 구글링을 먼저 해 주세요. 들어오는 질문의 절반 이상은 구글에 검색해 보면 1분 이내로 답을 찾을 수 있는 내용들입니다.
  • 오류 메시지가 있을 경우 이를 구글에 복붙해서 검색해보면 대부분 짧은 시간 내 해결방법을 찾을 수 있습니다.
  • 강의 페이지에 추가사항 등 놓친 부분이 없는지 확인해주세요. 자주 들어오는 질문은 페이지에 추가사항으로 업데이트됩니다.
  • "유료파트의 강의페이지는 어디 있나요?" - 각 영상의 시작부분 검은 화면마다 해당 챕터의 강의페이지 링크가 있습니다.
  • 질문을 보내주실 때는 문제가 어떻게 발생했고 어떤 상황인지 등을 구체적으로 적어주세요. 스크린샷을 첨부해주시면 더욱 좋습니다.
🌏 Why not change the world?