Database/MySQL

MySQL 연산자 알아보기

dev.Woody 2021. 11. 29. 23:54

MySQL 연산자 이용하기

MySQL에서는 다른 프로그래밍 언어들 같이 + - * / % mod true false AND && OR || 등의 연산을 지원한다.

다음과 같이 AS를 이용해 연산한 값의 셀의 이름을 지정해줄 수 있다.

SELECT
  ProductName,
  Price / 2 AS HalfPrice
FROM Products;

기본적인 문자열은 0을 취급하고 숫자로 된 문자열의 경우 자동으로 변환되어 계산된다.

SELECT 'ABC' + 3;

SQL에서는 IS, IS NOT 연산자도 지원하는데 IS는 양쪽이 모두 TRUE 또는 FALSE, IS NOT은 한쪽은 TRUE, 한쪽은 FALSE을 의미한다.

MySQL 범위 내의 값 선택하기

BETWEEN {MIN} AND {MAX}를 통해 범위 내 값을 선택할 수 있다. 이때, MIN과 MAX의 위치가 바뀌면 결과값이 제대로 출력되지 않는다. 앞에 NOT을 붙여 범위의 반대여부를 택할 수도 있다.

SELECT * FROM OrderDetails
WHERE ProductID BETWEEN 1 AND 4;

IN ({값1},{값2},{값3})과 같이 IN의 괄호 안에 있는 값들만 추출할 수도 있다.

SELECT * FROM Customers
WHERE City IN ('Torino', 'Paris', 'Portland', 'Madrid') 

MySQL 패턴을 가진 문자 선택하기

LIKE '... % ...'를 통해 특정한 패턴을 가진 문자를 선택할 수 있다. %는 0~N개의 문자를 가진 패턴을 의미하고 %대신에 를 쓰면 의 개수만큼의 문자를 의미한다.

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'