ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • MySql - 각종연산자들
    DataBase/MySql 2023. 9. 7. 11:24
    반응형

    MySql의 각종 연산자들 정리

     

    1. 사칙연산

    연산자  의미
    +, - , *, / 더하기, 빼기, 곱하기, 나누기
    %, MOD  나머지
    SELECT 1 +2;
    SELECT 3 * (2 + 4) / 2, 'Hello';
    SELECT 10 % 3;

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

     

     

    SELECT 'ABC' + 3;  ==> 3
    SELECT 'ABC' * 3; ===> 0

    숫자로 구성된 문자열은 숫자로 자동 인식

    SELECT '1' + '002' * 3; ==> 7

     

    SELECT (컬럼명 + 컬럼명) FROM (테이블명);

    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 * FROM (테이블명) WHERE TRUE;
    SELECT * FROM (테이블명) WHERE FALSE;

     

    - IS, IS NOT 연산자

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

     

    SELECT TRUE IS TRUE;                ===> TRUE(1)
    SELECT (TRUE IS FALSE) IS NOT TRUE;             =====> TRUE(1)

     

    - AND, OR 연산자

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

    SELECT
    TRUE AND FALSE, TRUE OR FALSE;              ====>  FALSE(0), TRUE(1)


    SELECT * FROM (테이블명)
    WHERE
      ProductId = 20;
      AND (OrderId = 100, OR Quantity = 10);

     

    - 부등호 연산자

    연산자 의미
    = 양쪽 값이 같음
    !=, <>  양쪽 값이 다름
    >, <  (왼쪽, 오른쪽) 값이 더 큼
    >=, <= (왼쪽, 오른쪽) 값이 같거나 더 큼
    SELECT 'A' = 'A', 'A' != 'B', 'A' < 'B', 'A' > 'B';          ====> TRUE(1), TRUE(1), TRUE(1), FALSE(0)
    SELECT 'A' = 'a';         ===> TRUE(1)

    MySql의 기본 사칙연산자는 대소문자를 구분하지 않는다.

     

     

    SELECT 
      ProductName, Price,
      Price > 20 AS EXPENSIVE
    FROM Products;

     

    - BETWEEN  연산자

    연산자  의미
    BETWEEN {MIN} AND {MAX} 두 값 사이에 있음
    NOT BETWEEN {MIN} AND {MAX} 두 값 사이가 아닌 곳에 있음
    SELECT 5 BETWEEN 1 AND 10;     =====> TRUE(1)

    SELECT * FROM Customers
    WHERE CustomerName BETWEEN 'b' AND 'c';

     

     

    - IN, NOT IN 연산자

    연산자 의미
    IN(...) 괄호 안의 값들 가운데 있음
    NOT IN(...) 괄호 안의 값들 가운데 없음
    SELECT 1 + 2 IN (2, 3, 4);               ====> TRUE(1)

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

     

    -  LIKE 연산자

    연산자 의미
    LIKE '...%...' 0~N개의 문자를 가진 패턴
    LIKE '..._...' _갯수만큼의 문자를 가진 패턴
    SELECT
       'HELLO' LIKE 'hel%',               ====> TRUE(1)
       'HELLO' LIKE 'H%',                 ====> TRUE(1)
       'HELLO' LIKE 'H%O',               ====> TRUE(1)
       'HELLO' LIKE '%O',                 ====> TRUE(1)
       'HELLO' LIKE '%HELLO%',     ====> TRUE(1)
       'HELLO' LIKE '%H',                 ====> FALSE(0)
       'HELLO' LIKE 'L%'                   ====> FALSE(0)

     

    SELECT
       'HELLO' LIKE 'HEL__',               =====> TRUE(1)
       'HELLO' LIKE 'h___O',               =====> TRUE(1)
       'HELLO' LIKE 'HE_LO',              =====> TRUE(1)
       'HELLO' LIKE '_____',                =====> TRUE(1) 
       'HELLO' LIKE '_HELLO',            =====> FALSE(0)
       'HELLO' LIKE 'HEL_',                 =====> FALSE(0)
       'HELLO' LIKE 'H_O'                    =====> FALSE(0)

     

    SELECT * FROM Employees
    WHERE Notes LIKE '%economics%'
    반응형

    댓글

Designed by Tistory.